ONE SOURCE. SIX EXECUTION POINTS.
Runtime parity is stronger when every backend receives the same source and the expected result is fixed before execution. The 13.1 parity fixture is intentionally simple enough to make backend disagreement obvious.
00 execution matrix
| Path | Mode |
|---|---|
| Hosted tree runtime | canonical hosted |
| Canonical VM | flat bytecode |
| Windows x86_64 native | O0 |
| Windows x86_64 native | O1 |
| Linux x86_64 native | O0 |
| Linux x86_64 native | O1 |
10 the program
portable_runtime_parity.dby computes a small fixed-width integer transform twice, combines the values and returns 42 only when the exact result is reached. A non-42 status triggers a deliberate divide-by-zero at the top level so “wrong value but process returned” cannot look green.
fn mix(value: u32) -> u32:
let x: u32 = value * (3 as u32)
x = x + (7 as u32)
if x > (100 as u32):
x = x - (11 as u32)
return x
pub fn main() -> i32:
let left: u32 = mix(40 as u32)
let right: u32 = mix(10 as u32)
let total: u32 = left + right
if total == (153 as u32):
return 42 as i32
return 1 as i32
let status: i32 = main()
if status != (42 as i32):
let crash: i32 = (1 as i32) / (0 as i32)
20 what this proves
It checks that one admitted fixed-width source keeps its observable result across the named execution paths. It does not prove every DBYTE program is portable. The portability analyzer first rejects target-dependent source; parity then executes a known portable fixture.
30 how to read a failure
If hosted and VM agree but one native target differs, start below HIR: Native MIR legalization, selector, ABI or object path. If O0 passes and O1 fails, optimization becomes the first suspect. If every backend rejects the project during check-portable, that is a source-contract failure, not runtime parity.