code wiki / _hdl_build / _f64_erf_gate_authored.nx
_f64_erf_gate_authored.nx
buildroot/runtime/_hdl_build/_f64_erf_gate_authored.nx
about
_f64_erf_gate_authored.nx -- f64 EDGE gate for the Builder-authored erf (component 5).
Complements the bf oracle gate (semantics) with IEEE edge discipline:
E1 denormal in -> finite, sign-preserved, non-NaN (series path: x*p well-defined)
E2 monotone non-decreasing over 0.5..1.75 step 1/256 (no Horner wiggle at the top)
E3 gap contract: first bits ABOVE the 1.75 cut -> NAN_RAW (loud, never wrong-number)
E4 result strictly < 1.0 inside the series domain (erf(1.75)=0.98667...)
E5 SEMANTIC ANCHORS (the tamper judge's teeth -- RUNGRUN re-runs THIS gate after
flipping a kernel literal, so edge checks alone are blind to coefficient/scale
flips that preserve monotonicity): 8-point bf-oracle ULP<=4 at x=k/8, k=1..8,
with 2/sqrt(pi) re-derived INDEPENDENTLY (judge diversity, not shared spec).
Durable: F64ERF row -> knowledge/status/math_engine.log. Exit 0 iff all held.
license_tier: ORIGINAL
dependencies 5 imports · 0 importers
imports: nx_syscalls.nxnx_bigfloat120.nxnx_bigfloat120_div.nxnx_bigfloat120_trig.nx_pe_f64erf.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 18 | func fg_p(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 19 | func fg_f(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } |
| 20 | func fg_n(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m; sys_write(fd,"-" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1}; while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 } |
| 21 | func fg_sqrt(out: *i64, a: *i64, seed_raw: i64) -> i64 |
| 35 | func fg_oracle(xbits: i64, tosp: *i64) -> i64 |
| 63 | func main() -> i64 |