code wiki / (root) / nx_f32_conv2d_backward_gate.nx

nx_f32_conv2d_backward_gate.nx

buildroot/runtime/nx_f32_conv2d_backward_gate.nx

4638 B78 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind gate/prooftopic f32
docsdependenciesstructsconstsfunctions

about

nx_f32_conv2d_backward_gate.nx -- EXACT gradient check of nx_f32_conv2d_backward. Integer-valued inputs/weights make every gradient an exact small integer, so the analytic backward is checked BIT-EXACT (nx_i32_to_f32 canonical f32, ==) with NO numerical tolerance -- a stronger proof than finite-difference. Toy conv: C_in=1 H=3 W=3 input=[1..9], C_out=1 KH=KW=2 stride=1 pad=0 (OH=OW=2), weight=[10,20,30,40]. dOut=all-ones -> dW=[12,16,24,28], dBias=4, dIn(0,0)=10, dIn(1,1 center)=100 (verified by hand) dOut=[1,2,3,4] -> dW[0,0]=37, dBias=10 (general dOut weighting) stride=0 -> ERR_BAD_ARGS (guard) expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_f32_cvt.nx nx_f32_conv2d_backward.nx nx_f32_conv2d_backward_gate.nx

imports: nx_syscalls.nxnx_f32_cvt.nxnx_f32_conv2d_backward.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap nx_i32_to_f32 nx_f32_conv2d_backward nx_f32_add nx_f32_classify nx_f32_exp_field nx_f32_mant_field nx_f32_sign nx_f32_mant_field ↻ nx_f32_exp_field ↻ nx_f32_mul nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_mant_field ↻ nx_f32_exp_field ↻ gp sys_write gn sys_mmap ↻ sys_write ↻ sys_exit

structs

none

consts

none

functions

13func gp(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return sys_write(1, s, n) }
called by 1: main calls 1: sys_write
14func gn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
24func main(argc: i64, argv: *i64) -> i64