def nfwd
import bend-ml-autograd@0.1.1.0/main.bend as BendMlAutogradimport Base
41# FORWARD-mode derivative (dual numbers): derivative of the sum and the product rule
42def nfwd(e: NE, +x: Nat) -> Nat:
43 match e:
44 case NCst{n}:
45 0n
46 case NX{}:
47 1n
48 case NAdd{a, b}:
49 Nat.add(nfwd(a, x), nfwd(b, x))
50 case NMul{+a, +b}:
51 Nat.add(Nat.mul(nfwd(a, x), nval(b, x)), Nat.mul(nval(a, x), nfwd(b, x)))