52 lines
1.3 KiB
Text
52 lines
1.3 KiB
Text
[Compiler.saveBase] size: 7
|
|
def f1 c a b : Nat :=
|
|
cases c : Nat
|
|
| Bool.false =>
|
|
let _x.1 := Nat.add a b;
|
|
return _x.1
|
|
| Bool.true =>
|
|
let _x.2 := Nat.add a b;
|
|
let _x.3 := Nat.mul b a;
|
|
let _x.4 := Nat.add _x.2 _x.3;
|
|
return _x.4
|
|
[Compiler.saveBase] size: 7
|
|
def f2 c a b : Nat :=
|
|
cases c : Nat
|
|
| Bool.false =>
|
|
let _x.1 := Nat.add a b;
|
|
return _x.1
|
|
| Bool.true =>
|
|
let _x.2 := Nat.add a b;
|
|
let _x.3 := Nat.mul b a;
|
|
let _x.4 := Nat.add _x.2 _x.3;
|
|
return _x.4
|
|
[Compiler.saveBase] size: 22
|
|
def f3 c c' a b : Nat :=
|
|
jp _jp.1 y z : Nat :=
|
|
let _x.2 := Nat.add y z;
|
|
let _x.3 := Nat.mul z y;
|
|
let _x.4 := Nat.add _x.2 _x.3;
|
|
return _x.4;
|
|
jp _jp.5 y z : Nat :=
|
|
let _x.6 := Nat.add z y;
|
|
let _x.7 := Nat.add _x.6 y;
|
|
return _x.7;
|
|
jp _jp.8 y z d : Nat :=
|
|
cases d : Nat
|
|
| C.c1 =>
|
|
goto _jp.1 y z
|
|
| C.c3 =>
|
|
let _x.9 := Nat.mul y y;
|
|
let _x.10 := Nat.add _x.9 a;
|
|
return _x.10
|
|
| _ =>
|
|
goto _jp.5 y z;
|
|
cases c : Nat
|
|
| C.c1 =>
|
|
goto _jp.1 a b
|
|
| C.c2 =>
|
|
goto _jp.5 b b
|
|
| C.c3 =>
|
|
goto _jp.8 b a c'
|
|
| C.c4 =>
|
|
goto _jp.8 a a c'
|