blob: eb5067532b895e2fc232d2982f29d6dac8bfa21d [file] [edit]
import Lean
def f (x : Nat) :=
let g (y z : Nat) := match y with | 0 => x * z * x * y * y | .succ y => y + z
let h (x : Nat) := g x x
h (x+1) +
h (x+2) +
h (x+3) +
h (x+4) +
h (x+5) +
h (x+6) +
h (x+7) +
h (x+8) +
h (x+9)
#eval Lean.Compiler.compile #[``f]
-- set_option trace.Compiler.simp true -- TODO: uncomment
#eval Lean.Compiler.compile #[``f]