
Time bar (total: 4.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 100% | 99.7% | 0% | 0.3% | 0% | 0% | 0% | 1 |
Compiled 17 to 15 computations (11.8% saved)
| 671.0ms | 8 256× | 0 | valid |
ival-mult!: 198.0ms (77% of total)ival-add!: 58.0ms (22.5% of total)adjust: 1.0ms (0.4% of total)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 120 | 442 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 92.0% | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
Compiled 30 to 26 computations (13.3% saved)
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
(+.f64 x (*.f64 y z)) |
x |
(*.f64 y z) |
y |
z |
(*.f64 t a) |
t |
a |
(*.f64 (*.f64 a z) b) |
(*.f64 a z) |
b |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (fma.f64 a t (*.f64 y z))) |
#s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ x (* y z)) (*.f64 y z)) |
#s(approx (+ x (* y z)) (+.f64 x (*.f64 y z))) |
#s(approx x x) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) x) (/.f64 (*.f64 y z) x)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (/.f64 (*.f64 y z) x))))) |
#s(approx (+ x (* y z)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) x)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (*.f64 y z)) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (* y z)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) x)) #s(literal 1 binary64))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) |
#s(approx y y) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (+.f64 (/.f64 (*.f64 a t) y) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (/.f64 (*.f64 a t) y))))) |
#s(approx (+ x (* y z)) (*.f64 y (+.f64 z (/.f64 x y)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) y)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) y)))))) |
#s(approx (+ x (* y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 x y)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 z (+.f64 y (*.f64 a b)))))) |
#s(approx z z) |
#s(approx (* (* a z) b) (*.f64 a (*.f64 b z))) |
#s(approx (* a z) (*.f64 a z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 z (+.f64 y (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z))))) |
#s(approx (+ x (* y z)) (*.f64 z (+.f64 y (/.f64 x z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (*.f64 a b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z))))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z)))))) |
#s(approx (+ x (* y z)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 x z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (* t a) (*.f64 a t)) |
#s(approx t t) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) t) (/.f64 (*.f64 y z) t)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) t))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z))) t)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) t)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (+.f64 t (*.f64 b z)) (*.f64 y z)))) |
#s(approx a a) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (fma.f64 b z (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 a (+.f64 t (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (*.f64 b z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a))))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a)))))) |
#s(approx b b) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (+.f64 (/.f64 (*.f64 a t) b) (/.f64 (*.f64 y z) b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 y z))) b)))))) |
18 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | a | inf |
| 2.0ms | z | -inf |
| 2.0ms | a | -inf |
| 2.0ms | z | 0 |
| 2.0ms | z | inf |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
(+.f64 x (*.f64 y z)) |
x |
(*.f64 y z) |
y |
z |
(*.f64 t a) |
t |
a |
(*.f64 (*.f64 a z) b) |
(*.f64 a z) |
b |
| Outputs |
|---|
(+.f64 (fma.f64 t a (fma.f64 y z x)) (*.f64 (*.f64 a z) b)) |
(+.f64 (*.f64 (*.f64 a z) b) (fma.f64 t a (fma.f64 y z x))) |
(+.f64 (fma.f64 y z x) (fma.f64 t a (*.f64 (*.f64 a z) b))) |
(-.f64 (fma.f64 t a (fma.f64 y z x)) (*.f64 (neg.f64 (*.f64 a z)) b)) |
(-.f64 (fma.f64 t a (fma.f64 y z x)) (neg.f64 (*.f64 (*.f64 a z) b))) |
(fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
(fma.f64 a (*.f64 z b) (fma.f64 t a (fma.f64 y z x))) |
(fma.f64 b (*.f64 a z) (fma.f64 t a (fma.f64 y z x))) |
(+.f64 (fma.f64 y z x) (*.f64 t a)) |
(+.f64 (*.f64 t a) (fma.f64 y z x)) |
(+.f64 x (fma.f64 y z (*.f64 t a))) |
(-.f64 (fma.f64 y z x) (neg.f64 (*.f64 t a))) |
(-.f64 (fma.f64 y z x) (*.f64 (neg.f64 t) a)) |
(fma.f64 t a (fma.f64 y z x)) |
(fma.f64 a t (fma.f64 y z x)) |
(+.f64 x (*.f64 y z)) |
(+.f64 (*.f64 y z) x) |
(-.f64 x (neg.f64 (*.f64 y z))) |
(-.f64 x (*.f64 (neg.f64 y) z)) |
(fma.f64 y z x) |
(fma.f64 z y x) |
x |
(*.f64 y z) |
(*.f64 z y) |
y |
z |
(*.f64 t a) |
(*.f64 a t) |
t |
a |
(*.f64 (*.f64 a z) b) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a z) |
(*.f64 z a) |
b |
Compiled 1 787 to 342 computations (80.9% saved)
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 71 | 6 | 77 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 72 | 6 | 78 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 92.4% | (fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
| ▶ | 73.7% | (+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| 68.5% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) | |
| ▶ | 73.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
| ▶ | 50.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| ▶ | 50.9% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
Compiled 264 to 192 computations (27.3% saved)
| Inputs |
|---|
(fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
(*.f64 a z) |
a |
z |
b |
(fma.f64 t a (fma.f64 y z x)) |
t |
(fma.f64 y z x) |
y |
x |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 t (*.f64 b z)) |
(*.f64 b z) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 y (*.f64 a b)) |
(*.f64 a b) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
(+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) |
(fma.f64 a t (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(*.f64 (*.f64 a z) b) |
| Outputs |
|---|
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (+.f64 x (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (fma.f64 a t (*.f64 y z))) |
#s(approx (+ (* t a) (+ (* y z) x)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (* y z) x) (*.f64 y z)) |
#s(approx (+ (* y z) x) (+.f64 x (*.f64 y z))) |
#s(approx x x) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (fma.f64 a t (*.f64 a (*.f64 b z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ x (* a t)) (*.f64 a t)) |
#s(approx (+ x (* a t)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) x) (/.f64 (*.f64 y z) x)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (/.f64 (*.f64 y z) x))))) |
#s(approx (+ (* y z) x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) x)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (/.f64 (*.f64 a (*.f64 b z)) x))))) |
#s(approx (+ x (* a t)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a t) x)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (*.f64 y z)) x)) #s(literal 1 binary64))))) |
#s(approx (+ (* y z) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (*.f64 a (*.f64 b z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (* a t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a t) x)) #s(literal 1 binary64))))) |
#s(approx y y) |
#s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z))) |
#s(approx (* z (+ y (* a b))) (fma.f64 a (*.f64 b z) (*.f64 y z))) |
#s(approx (+ y (* a b)) (*.f64 a b)) |
#s(approx (+ y (* a b)) (+.f64 y (*.f64 a b))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (+.f64 (/.f64 (*.f64 a t) y) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (/.f64 (*.f64 a t) y))))) |
#s(approx (+ (* y z) x) (*.f64 y (+.f64 z (/.f64 x y)))) |
#s(approx (* z (+ y (* a b))) (*.f64 y (+.f64 z (/.f64 (*.f64 a (*.f64 b z)) y)))) |
#s(approx (+ y (* a b)) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a b) y)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) y)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) y)))))) |
#s(approx (+ (* y z) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 x y)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (+ y (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) y)) #s(literal 1 binary64))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (+.f64 x (fma.f64 a t (*.f64 z (+.f64 y (*.f64 a b)))))) |
#s(approx (* a z) (*.f64 a z)) |
#s(approx z z) |
#s(approx (+ t (* b z)) t) |
#s(approx (+ t (* b z)) (+.f64 t (*.f64 b z))) |
#s(approx (* b z) (*.f64 b z)) |
#s(approx (* z (+ y (* a b))) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 z (+.f64 y (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 z (+.f64 y (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z))))) |
#s(approx (+ (* y z) x) (*.f64 z (+.f64 y (/.f64 x z)))) |
#s(approx (* a (+ t (* b z))) (*.f64 z (fma.f64 a b (/.f64 (*.f64 a t) z)))) |
#s(approx (+ t (* b z)) (*.f64 z (+.f64 b (/.f64 t z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 z (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (*.f64 a b)))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z))))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z)))))) |
#s(approx (+ (* y z) x) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 x z)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a t) z)))))) |
#s(approx (+ t (* b z)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 t z)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z)))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) t) (/.f64 (*.f64 y z) t)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) t))))) |
#s(approx (* a (+ t (* b z))) (*.f64 t (+.f64 a (/.f64 (*.f64 a (*.f64 b z)) t)))) |
#s(approx (+ t (* b z)) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b z) t)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (/.f64 (*.f64 a (*.f64 b z)) t))))) |
#s(approx (+ x (* a t)) (*.f64 t (+.f64 a (/.f64 x t)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z))) t)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) t)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (*.f64 b z)) t)))))) |
#s(approx (+ t (* b z)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b z) t)) #s(literal 1 binary64))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a (*.f64 b z))) t)))))) |
#s(approx (+ x (* a t)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 x t)))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (+.f64 x (fma.f64 a (+.f64 t (*.f64 b z)) (*.f64 y z)))) |
#s(approx a a) |
#s(approx (* a (+ t (* b z))) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 a (+.f64 t (fma.f64 b z (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a)))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 a (+.f64 t (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a))))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (fma.f64 b z (/.f64 (*.f64 y z) a)))) |
#s(approx (+ y (* a b)) (*.f64 a (+.f64 b (/.f64 y a)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a))))) |
#s(approx (+ x (* a t)) (*.f64 a (+.f64 t (/.f64 x a)))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (*.f64 b z)))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a))))))) |
#s(approx (+ (* t a) (+ (* y z) x)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) a)))))) |
#s(approx (+ y (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 y a)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 x a))))))) |
#s(approx (+ x (* a t)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 x a)))))) |
#s(approx b b) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (+.f64 (/.f64 (*.f64 a t) b) (/.f64 (*.f64 y z) b)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 b (fma.f64 a z (/.f64 (*.f64 a t) b)))) |
#s(approx (+ t (* b z)) (*.f64 b (+.f64 z (/.f64 t b)))) |
#s(approx (* z (+ y (* a b))) (*.f64 b (fma.f64 a z (/.f64 (*.f64 y z) b)))) |
#s(approx (+ y (* a b)) (*.f64 b (+.f64 a (/.f64 y b)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (/.f64 (*.f64 a t) b))))) |
#s(approx (+ (* (* a z) b) (+ (* t a) (+ (* y z) x))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 y z))) b)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a t) b)))))) |
#s(approx (+ t (* b z)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 t b)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) b)))))) |
#s(approx (+ y (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 y b)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) b)))))) |
18 calls:
| Time | Variable | Point |
|---|---|---|
| 41.0ms | t | inf |
| 20.0ms | a | 0 |
| 9.0ms | a | inf |
| 5.0ms | a | -inf |
| 4.0ms | b | -inf |
| Inputs |
|---|
(fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
(*.f64 a z) |
a |
z |
b |
(fma.f64 t a (fma.f64 y z x)) |
t |
(fma.f64 y z x) |
y |
x |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 t (*.f64 b z)) |
(*.f64 b z) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 y (*.f64 a b)) |
(*.f64 a b) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
(+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) |
(fma.f64 a t (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(*.f64 (*.f64 a z) b) |
| Outputs |
|---|
(+.f64 (*.f64 (*.f64 a z) b) (fma.f64 t a (fma.f64 y z x))) |
(fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
(*.f64 a z) |
a |
z |
b |
(+.f64 (*.f64 t a) (fma.f64 y z x)) |
(fma.f64 t a (fma.f64 y z x)) |
t |
(+.f64 (*.f64 y z) x) |
(fma.f64 y z x) |
y |
x |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 t (*.f64 b z)) |
(*.f64 b z) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 y (*.f64 a b)) |
(*.f64 a b) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
(+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(fma.f64 a t (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(*.f64 (*.f64 a z) b) |
Compiled 3 687 to 610 computations (83.5% saved)
12 alts after pruning (8 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 113 | 8 | 121 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 0 | 0 |
| Total | 115 | 12 | 127 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 92.4% | (fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
| ▶ | 68.6% | (fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
| ✓ | 73.7% | (+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| ▶ | 49.8% | (+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| ✓ | 50.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| ▶ | 27.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
| ✓ | 50.9% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
| ▶ | 28.7% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
| ▶ | 73.7% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
| 49.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) | |
| 64.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) | |
| 26.5% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
Compiled 545 to 378 computations (30.6% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))) |
x |
(*.f64 a (+.f64 t (*.f64 b z))) |
a |
(+.f64 t (*.f64 b z)) |
t |
(*.f64 b z) |
b |
z |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
(*.f64 a #s(approx (+ t (* b z)) t)) |
#s(approx (+ t (* b z)) t) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
(*.f64 z #s(approx (+ y (* a b)) (*.f64 a b))) |
#s(approx (+ y (* a b)) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) |
#s(approx (+ x (* a t)) (*.f64 a t)) |
(*.f64 a t) |
(*.f64 (*.f64 a z) b) |
(*.f64 a z) |
(fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
(fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z))) |
#s(approx (+ (* y z) x) (*.f64 y z)) |
(*.f64 y z) |
y |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (fma.f64 a t (*.f64 a (*.f64 b z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ x (* a (+ t (* b z)))) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ x (* a (+ t (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
#s(approx x x) |
#s(approx (+ (+ x (* y z)) (* t a)) (fma.f64 a t (*.f64 y z))) |
#s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ x (* a t)) (*.f64 a t)) |
#s(approx (+ x (* a t)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (* y z) x) (*.f64 y z)) |
#s(approx (+ (* y z) x) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) x) (/.f64 (*.f64 y z) x)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (/.f64 (*.f64 a (*.f64 b z)) x))))) |
#s(approx (+ x (* a (+ t (* b z)))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 t (*.f64 b z))) x)))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (/.f64 (*.f64 y z) x))))) |
#s(approx (+ x (* a t)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a t) x)))) |
#s(approx (+ (* y z) x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) x)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (*.f64 a (*.f64 b z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (* a (+ t (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 t (*.f64 b z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (*.f64 y z)) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (* a t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a t) x)) #s(literal 1 binary64))))) |
#s(approx (+ (* y z) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) x)) #s(literal 1 binary64))))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z))) |
#s(approx (* z (+ y (* a b))) (fma.f64 a (*.f64 b z) (*.f64 y z))) |
#s(approx (+ y (* a b)) (*.f64 a b)) |
#s(approx (+ y (* a b)) (+.f64 y (*.f64 a b))) |
#s(approx y y) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (+.f64 (/.f64 (*.f64 a t) y) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 y (+.f64 z (/.f64 (*.f64 a (*.f64 b z)) y)))) |
#s(approx (+ y (* a b)) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a b) y)))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (/.f64 (*.f64 a t) y))))) |
#s(approx (+ (* y z) x) (*.f64 y (+.f64 z (/.f64 x y)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) y)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (+ y (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) y)) #s(literal 1 binary64))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) y)))))) |
#s(approx (+ (* y z) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 x y)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 z (+.f64 y (*.f64 a b)))))) |
#s(approx (+ t (* b z)) t) |
#s(approx (+ t (* b z)) (+.f64 t (*.f64 b z))) |
#s(approx (* b z) (*.f64 b z)) |
#s(approx z z) |
#s(approx (* z (+ y (* a b))) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (* a z) (*.f64 a z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 z (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z))))) |
#s(approx (* a (+ t (* b z))) (*.f64 z (fma.f64 a b (/.f64 (*.f64 a t) z)))) |
#s(approx (+ t (* b z)) (*.f64 z (+.f64 b (/.f64 t z)))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 z (+.f64 y (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z))))) |
#s(approx (+ (* y z) x) (*.f64 z (+.f64 y (/.f64 x z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (*.f64 a b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z))))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a t) z)))))) |
#s(approx (+ t (* b z)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 t z)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z)))))) |
#s(approx (+ (* y z) x) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 x z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) t) (/.f64 (*.f64 y z) t)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (/.f64 (*.f64 a (*.f64 b z)) t))))) |
#s(approx (* a (+ t (* b z))) (*.f64 t (+.f64 a (/.f64 (*.f64 a (*.f64 b z)) t)))) |
#s(approx (+ t (* b z)) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b z) t)))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) t))))) |
#s(approx (+ x (* a t)) (*.f64 t (+.f64 a (/.f64 x t)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z))) t)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a (*.f64 b z))) t)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (*.f64 b z)) t)))))) |
#s(approx (+ t (* b z)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b z) t)) #s(literal 1 binary64))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) t)))))) |
#s(approx (+ x (* a t)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 x t)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (+.f64 t (*.f64 b z)) (*.f64 y z)))) |
#s(approx a a) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (fma.f64 b z (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a))))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (fma.f64 b z (/.f64 (*.f64 y z) a)))) |
#s(approx (+ y (* a b)) (*.f64 a (+.f64 b (/.f64 y a)))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 a (+.f64 t (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a))))) |
#s(approx (+ x (* a t)) (*.f64 a (+.f64 t (/.f64 x a)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (*.f64 b z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a))))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 x a))))))) |
#s(approx (+ x (* a (+ t (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (+.f64 t (*.f64 b z)) (*.f64 #s(literal -1 binary64) (/.f64 x a)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) a)))))) |
#s(approx (+ y (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 y a)))))) |
#s(approx (+ (+ x (* y z)) (* t a)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a)))))) |
#s(approx (+ x (* a t)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 x a)))))) |
#s(approx b b) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (+.f64 (/.f64 (*.f64 a t) b) (/.f64 (*.f64 y z) b)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (/.f64 (*.f64 a t) b))))) |
#s(approx (* a (+ t (* b z))) (*.f64 b (fma.f64 a z (/.f64 (*.f64 a t) b)))) |
#s(approx (+ t (* b z)) (*.f64 b (+.f64 z (/.f64 t b)))) |
#s(approx (* z (+ y (* a b))) (*.f64 b (fma.f64 a z (/.f64 (*.f64 y z) b)))) |
#s(approx (+ y (* a b)) (*.f64 b (+.f64 a (/.f64 y b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 y z))) b)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) b)))))) |
#s(approx (* a (+ t (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a t) b)))))) |
#s(approx (+ t (* b z)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 t b)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) b)))))) |
#s(approx (+ y (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 y b)))))) |
18 calls:
| Time | Variable | Point |
|---|---|---|
| 43.0ms | y | -inf |
| 19.0ms | a | 0 |
| 5.0ms | z | -inf |
| 4.0ms | z | inf |
| 3.0ms | z | 0 |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))) |
x |
(*.f64 a (+.f64 t (*.f64 b z))) |
a |
(+.f64 t (*.f64 b z)) |
t |
(*.f64 b z) |
b |
z |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
(*.f64 a #s(approx (+ t (* b z)) t)) |
#s(approx (+ t (* b z)) t) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
(*.f64 z #s(approx (+ y (* a b)) (*.f64 a b))) |
#s(approx (+ y (* a b)) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) |
#s(approx (+ x (* a t)) (*.f64 a t)) |
(*.f64 a t) |
(*.f64 (*.f64 a z) b) |
(*.f64 a z) |
(fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
(fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z))) |
#s(approx (+ (* y z) x) (*.f64 y z)) |
(*.f64 y z) |
y |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))) |
x |
(*.f64 a (+.f64 t (*.f64 b z))) |
a |
(+.f64 t (*.f64 b z)) |
t |
(*.f64 b z) |
b |
z |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
(*.f64 a #s(approx (+ t (* b z)) t)) |
#s(approx (+ t (* b z)) t) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
(*.f64 z #s(approx (+ y (* a b)) (*.f64 a b))) |
#s(approx (+ y (* a b)) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) |
#s(approx (+ x (* a t)) (*.f64 a t)) |
(*.f64 a t) |
(*.f64 (*.f64 a z) b) |
(*.f64 a z) |
(fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
(fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z))) |
#s(approx (+ (* y z) x) (*.f64 y z)) |
(*.f64 y z) |
y |
Compiled 3 772 to 616 computations (83.7% saved)
12 alts after pruning (3 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 107 | 0 | 107 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 4 | 4 |
| Total | 107 | 12 | 119 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 92.4% | (fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
| ✓ | 68.6% | (fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
| ✓ | 73.7% | (+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| ✓ | 49.8% | (+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| ✓ | 50.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| ✓ | 27.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
| ✓ | 50.9% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
| ✓ | 28.7% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
| ✓ | 73.7% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
| ▶ | 49.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
| ▶ | 64.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
| ▶ | 26.5% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
Compiled 312 to 219 computations (29.8% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
a |
(*.f64 b z) |
b |
z |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a))))) |
(*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))) |
(+.f64 t (fma.f64 b z (/.f64 x a))) |
t |
(fma.f64 b z (/.f64 x a)) |
(/.f64 x a) |
x |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z)))) |
(+.f64 x (*.f64 a (*.f64 b z))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (fma.f64 a t (*.f64 a (*.f64 b z)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
#s(approx (+ t (+ (* b z) (/ x a))) (+.f64 t (*.f64 b z))) |
#s(approx (+ t (+ (* b z) (/ x a))) (+.f64 t (fma.f64 b z (/.f64 x a)))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 b z)) |
#s(approx (+ (* b z) (/ x a)) (fma.f64 b z (/.f64 x a))) |
#s(approx (/ x a) (/.f64 x a)) |
#s(approx x x) |
#s(approx (+ x (* a (* b z))) (*.f64 a (*.f64 b z))) |
#s(approx (+ x (* a (* b z))) (+.f64 x (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) x) (/.f64 (*.f64 y z) x)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 a t) x) (/.f64 (*.f64 a (*.f64 b z)) x))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 t (*.f64 b z))) x)))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 t x) (/.f64 (*.f64 b z) x))))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 (*.f64 b z) x)))) |
#s(approx (+ x (* a (* b z))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (*.f64 b z)) x)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a t (*.f64 a (*.f64 b z))) x)) #s(literal 1 binary64))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 t (*.f64 b z))) x)) #s(literal 1 binary64))))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 b z)) x)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b z) x)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ x (* a (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (*.f64 b z)) x)) #s(literal 1 binary64))))) |
#s(approx (* z (+ y (* a b))) (fma.f64 a (*.f64 b z) (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y (+.f64 z (+.f64 (/.f64 x y) (+.f64 (/.f64 (*.f64 a t) y) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 y (+.f64 z (/.f64 (*.f64 a (*.f64 b z)) y)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))) y)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (*.f64 b z)) y)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 z (+.f64 y (*.f64 a b)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx z z) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 a (+.f64 t (/.f64 x a)))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (fma.f64 a (*.f64 b z) (*.f64 a (+.f64 t (/.f64 x a))))) |
#s(approx (+ t (+ (* b z) (/ x a))) (+.f64 t (/.f64 x a))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 z (fma.f64 a b (+.f64 (/.f64 x z) (/.f64 (*.f64 a t) z))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 z (fma.f64 a b (/.f64 (*.f64 a (+.f64 t (/.f64 x a))) z)))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 z (+.f64 b (+.f64 (/.f64 t z) (/.f64 x (*.f64 a z)))))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 z (+.f64 b (/.f64 x (*.f64 a z))))) |
#s(approx (+ x (* a (* b z))) (*.f64 z (fma.f64 a b (/.f64 x z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (*.f64 a b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z))))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) z)))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 t (/.f64 x a))) z)))))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (/.f64 x a)) z)))))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a z))))))) |
#s(approx (+ x (* a (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 a b) (*.f64 #s(literal -1 binary64) (/.f64 x z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 a (fma.f64 b z (/.f64 x a)))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (fma.f64 a t (*.f64 a (fma.f64 b z (/.f64 x a))))) |
#s(approx t t) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a t)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (+.f64 (/.f64 (*.f64 a (*.f64 b z)) t) (/.f64 (*.f64 y z) t)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 t (+.f64 a (+.f64 (/.f64 x t) (/.f64 (*.f64 a (*.f64 b z)) t))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 t (+.f64 a (/.f64 (*.f64 a (fma.f64 b z (/.f64 x a))) t)))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 t (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x (*.f64 a t)) (/.f64 (*.f64 b z) t))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z))) t)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a (*.f64 b z))) t)))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (fma.f64 b z (/.f64 x a))) t)))))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 b z (/.f64 x a)) t)) #s(literal 1 binary64))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (+.f64 t (*.f64 b z)) (*.f64 y z)))) |
#s(approx a a) |
#s(approx (+ t (+ (* b z) (/ x a))) (/.f64 (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))) a)) |
#s(approx (+ (* b z) (/ x a)) (/.f64 (+.f64 x (*.f64 a (*.f64 b z))) a)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (fma.f64 b z (+.f64 (/.f64 x a) (/.f64 (*.f64 y z) a)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (fma.f64 b z (/.f64 (*.f64 y z) a)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (*.f64 b z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y z)) a))))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) a)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 x a))))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (+.f64 t (*.f64 b z)) (*.f64 #s(literal -1 binary64) (/.f64 x a)))))) |
#s(approx (+ x (* a (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (*.f64 b z) (*.f64 #s(literal -1 binary64) (/.f64 x a)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx b b) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (+.f64 (/.f64 (*.f64 a t) b) (/.f64 (*.f64 y z) b)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 b (fma.f64 a z (/.f64 (*.f64 y z) b)))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (/.f64 (*.f64 a t) b))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 b (fma.f64 a z (/.f64 (*.f64 a (+.f64 t (/.f64 x a))) b)))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 b (+.f64 z (+.f64 (/.f64 t b) (/.f64 x (*.f64 a b)))))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 b (+.f64 z (/.f64 x (*.f64 a b))))) |
#s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (fma.f64 a t (*.f64 y z))) b)))))) |
#s(approx (* z (+ y (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) b)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 a t)) b)))))) |
#s(approx (* a (+ t (+ (* b z) (/ x a)))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 t (/.f64 x a))) b)))))) |
#s(approx (+ t (+ (* b z) (/ x a))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (/.f64 x a)) b)))))) |
#s(approx (+ (* b z) (/ x a)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a b))))))) |
#s(approx (+ x (* a (* b z))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (*.f64 a z) (*.f64 #s(literal -1 binary64) (/.f64 x b)))))) |
18 calls:
| Time | Variable | Point |
|---|---|---|
| 4.0ms | z | -inf |
| 2.0ms | a | -inf |
| 2.0ms | x | -inf |
| 2.0ms | b | -inf |
| 2.0ms | z | inf |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
a |
(*.f64 b z) |
b |
z |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a))))) |
(*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))) |
(+.f64 t (fma.f64 b z (/.f64 x a))) |
t |
(fma.f64 b z (/.f64 x a)) |
(/.f64 x a) |
x |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z)))) |
(+.f64 x (*.f64 a (*.f64 b z))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
a |
(*.f64 b z) |
b |
z |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a))))) |
(*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))) |
(+.f64 t (fma.f64 b z (/.f64 x a))) |
t |
(+.f64 (*.f64 b z) (/.f64 x a)) |
(fma.f64 b z (/.f64 x a)) |
(/.f64 x a) |
x |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z)))) |
(+.f64 x (*.f64 a (*.f64 b z))) |
Compiled 4 319 to 595 computations (86.2% saved)
12 alts after pruning (5 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 97 | 5 | 102 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 2 | 3 |
| Done | 4 | 5 | 9 |
| Total | 102 | 12 | 114 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 92.4% | (fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
| 75.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) | |
| 49.8% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) | |
| 52.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) | |
| ✓ | 27.1% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
| 26.4% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) | |
| ✓ | 50.9% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
| ✓ | 28.7% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
| ✓ | 73.7% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
| ✓ | 49.3% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
| 45.0% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) | |
| ✓ | 26.5% | #s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
Compiled 317 to 220 computations (30.6% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| Outputs |
|---|
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
(fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a #s(approx (+ t (* b z)) t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 y z)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 a t))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (*.f64 y z))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (* z (+ y (* a b))) (*.f64 a (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z #s(approx (+ y (* a b)) (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z)))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) #s(approx (+ x (* a (* b z))) (*.f64 b (fma.f64 a z (/.f64 x b)))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) #s(approx (+ x (* a t)) (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z))))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) #s(approx (+ x (+ (* a t) (* a (* b z)))) (*.f64 a (+.f64 t (fma.f64 b z (/.f64 x a)))))) |
(+.f64 #s(approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b)) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a t (fma.f64 a (*.f64 b z) (*.f64 y z)))) |
(fma.f64 (*.f64 a z) b (fma.f64 t a #s(approx (+ (* y z) x) (*.f64 y z)))) |
(fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| Outputs |
|---|
(fma.f64 (*.f64 a z) b (fma.f64 t a (fma.f64 y z x))) |
#s(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b)))) |
62 calls:
| 15.0ms | y |
| 10.0ms | a |
| 10.0ms | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 8.0ms | x |
| 7.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 28.7% | 1 | x |
| 28.7% | 1 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 28.7% | 1 | b |
| 28.7% | 1 | z |
| 28.7% | 1 | t |
| 28.7% | 1 | y |
| 28.7% | 1 | a |
| 40.5% | 3 | t |
| 41.6% | 3 | a |
| 31.2% | 2 | b |
| 28.7% | 1 | x |
| 32.0% | 3 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 39.5% | 3 | z |
| 41.2% | 3 | y |
| 52.3% | 1 | b |
| 52.3% | 1 | t |
| 60.3% | 3 | z |
| 61.3% | 3 | y |
| 52.3% | 1 | a |
| 64.9% | 3 | a |
| 62.0% | 3 | b |
| 52.3% | 1 | x |
| 64.0% | 3 | t |
| 64.7% | 3 | y |
| 67.3% | 4 | y |
| 62.0% | 5 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 67.2% | 4 | t |
| 65.1% | 3 | b |
| 66.4% | 4 | a |
| 76.9% | 3 | a |
| 66.0% | 4 | z |
| 71.6% | 6 | y |
| 68.1% | 3 | t |
| 70.5% | 5 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 76.9% | 3 | a |
| 77.0% | 3 | z |
| 65.4% | 3 | x |
| 68.4% | 3 | b |
| 84.6% | 3 | z |
| 85.7% | 3 | b |
| 79.1% | 2 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 86.0% | 3 | b |
| 84.0% | 3 | a |
| 75.1% | 1 | y |
| 87.0% | 3 | y |
| 86.8% | 3 | b |
| 88.2% | 3 | b |
| 87.9% | 3 | y |
| 88.5% | 3 | b |
| 85.1% | 3 | x |
| 90.4% | 4 | y |
| 82.0% | 4 | t |
| 87.3% | 4 | z |
| 87.0% | 3 | a |
| 87.9% | 4 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 97.4% | 2 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 92.4% | 1 | x |
| 92.4% | 1 | y |
| 94.4% | 2 | z |
| 92.4% | 1 | t |
| 95.1% | 2 | a |
| 92.4% | 1 | b |
Compiled 669 to 513 computations (23.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
Compiled 18 to 22 computations (-22.2% saved)
| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 3.649334194529088e+99 | 2.690581305521693e+102 |
| 23.0ms | -1.0456732955516068e-31 | -8.65324101864716e-35 |
| 56.0ms | -1.8175233435954792e+91 | -3.801313059078802e+85 |
| 28.0ms | 400× | 0 | valid |
Compiled 1 221 to 923 computations (24.4% saved)
ival-mult!: 9.0ms (74.8% of total)ival-add!: 3.0ms (24.9% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.8500306146086588e+50 | 1.5456968563132792e+53 |
| 22.0ms | -1919.21187887422 | -1.648002070696542e-5 |
| 23.0ms | 272× | 0 | valid |
Compiled 783 to 617 computations (21.2% saved)
ival-mult!: 5.0ms (75.6% of total)ival-add!: 2.0ms (30.2% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 3.649334194529088e+99 | 2.690581305521693e+102 |
| 9.0ms | -4.4786821745501155e-10 | -2.8911741291668036e-11 |
| 5.0ms | 96× | 0 | valid |
Compiled 872 to 624 computations (28.4% saved)
ival-mult!: 2.0ms (82.8% of total)ival-add!: 1.0ms (41.4% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 30.0ms | 8.022540580125102e+47 | 1.8500306146086588e+50 |
| 35.0ms | -5.238374375875373e+207 | -1.0715347117180756e+201 |
| 48.0ms | 256× | 0 | valid |
Compiled 959 to 670 computations (30.1% saved)
ival-mult!: 21.0ms (59.3% of total)ival-add!: 15.0ms (42.4% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 8.022540580125102e+47 | 1.8500306146086588e+50 |
| 6.0ms | -5.238374375875373e+207 | -1.0715347117180756e+201 |
| 3.0ms | 32× | 0 | valid |
Compiled 770 to 598 computations (22.3% saved)
ival-mult!: 1.0ms (77.1% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 1.7077180927693706e-30 | 4.993899258609739e-29 |
| 43.0ms | -6.858629607435723e+80 | -3.2990681611222183e+78 |
| 43.0ms | 224× | 0 | valid |
Compiled 634 to 512 computations (19.2% saved)
ival-mult!: 5.0ms (70.2% of total)ival-add!: 2.0ms (28.1% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 1.0790534025359165e+36 | 1.2216287228594097e+44 |
| 10.0ms | -8.763996001826146e-38 | -3.145638797738487e-39 |
| 16.0ms | 256× | 0 | valid |
Compiled 722 to 582 computations (19.4% saved)
ival-mult!: 5.0ms (80.3% of total)ival-add!: 2.0ms (32.1% of total)adjust: 0.0ms (0% of total)| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 9.0ms | 3.649334194529088e+99 | 2.690581305521693e+102 |
| 10.0ms | -2.3691503807807015e-175 | -1.5125075142215248e-177 |
| 1.0ms | -4.4786821745501155e-10 | -2.8911741291668036e-11 |
| 12.0ms | 192× | 0 | valid |
Compiled 1 082 to 827 computations (23.6% saved)
ival-mult!: 3.0ms (65.1% of total)ival-add!: 1.0ms (21.7% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 6.387129634334613e+32 | 1.0790534025359165e+36 |
| 10.0ms | -8.755670997547932e+47 | -3.683316379356825e+46 |
| 13.0ms | 240× | 0 | valid |
Compiled 648 to 532 computations (17.9% saved)
ival-mult!: 4.0ms (69% of total)ival-add!: 1.0ms (17.2% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 8.488707635135053e+214 | 9.409450385712972e+214 |
| 14.0ms | -3.735244037949903e+125 | -1.5508998001336152e+123 |
| 11.0ms | 128× | 0 | valid |
Compiled 338 to 286 computations (15.4% saved)
ival-mult!: 2.0ms (60.9% of total)ival-add!: 1.0ms (30.5% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 6.387129634334613e+32 | 1.0790534025359165e+36 |
| 1.0ms | -8.755670997547932e+47 | -3.683316379356825e+46 |
Compiled 678 to 547 computations (19.3% saved)
| 1× | fuel |
Compiled 1 005 to 131 computations (87% saved)
Compiled 1 020 to 144 computations (85.9% saved)
Loading profile data...