
Time bar (total: 4.6s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 0 |
| 100% | 99.6% | 0% | 0.4% | 0% | 0% | 0% | 1 |
Compiled 17 to 17 computations (0% saved)
| 810.0ms | 8 256× | 0 | valid |
ival-mult!: 241.0ms (75.7% of total)ival-add!: 76.0ms (23.9% of total)adjust: 2.0ms (0.6% of total)Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 174 | 687 |
| 1 | 725 | 679 |
| 2 | 2803 | 675 |
| 3 | 6593 | 675 |
| 4 | 6648 | 675 |
| 5 | 6648 | 675 |
| 6 | 7817 | 675 |
| 7 | 7827 | 675 |
| 8 | 7827 | 675 |
| 1× | saturated |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 94.1% | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(sort x y)
(sort z t)
(sort a b)
(sort c i)
Compiled 30 to 30 computations (0% saved)
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 x y))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* x y) (* z t)) (*.f64 t z)) |
#s(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y))) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (+.f64 (/.f64 (*.f64 c i) x) (/.f64 (*.f64 t z) x)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) x)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x)))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x)))))) |
#s(approx y y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (+.f64 (/.f64 (*.f64 c i) y) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) y)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y)))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y))) |
#s(approx z z) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (+.f64 (/.f64 (*.f64 c i) z) (/.f64 (*.f64 x y) z)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) z)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z)))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)))))) |
#s(approx t t) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (+.f64 (/.f64 (*.f64 c i) t) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) t)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t)))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (* a b) (*.f64 a b)) |
#s(approx a a) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) a)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a)))))) |
#s(approx b b) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) b)))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b)))))) |
#s(approx (* c i) (*.f64 c i)) |
#s(approx c c) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (+.f64 (/.f64 (*.f64 t z) c) (/.f64 (*.f64 x y) c)))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) c)))))) |
#s(approx i i) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (+.f64 (/.f64 (*.f64 t z) i) (/.f64 (*.f64 x y) i)))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) i)))))) |
24 calls:
| Time | Variable | Point |
|---|---|---|
| 8.0ms | c | inf |
| 5.0ms | c | 0 |
| 4.0ms | b | inf |
| 2.0ms | x | inf |
| 2.0ms | x | -inf |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
| Outputs |
|---|
(+.f64 (fma.f64 z t (*.f64 x y)) (fma.f64 a b (*.f64 c i))) |
(+.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))) (*.f64 c i)) |
(+.f64 (*.f64 c i) (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
(-.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))) (neg.f64 (*.f64 c i))) |
(-.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))) (*.f64 (neg.f64 c) i)) |
(fma.f64 c i (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
(fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
(+.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))) |
(+.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y))) |
(-.f64 (fma.f64 z t (*.f64 x y)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 (neg.f64 a) b)) |
(fma.f64 x y (fma.f64 z t (*.f64 a b))) |
(fma.f64 y x (fma.f64 z t (*.f64 a b))) |
(fma.f64 a b (fma.f64 z t (*.f64 x y))) |
(fma.f64 b a (fma.f64 z t (*.f64 x y))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(+.f64 (*.f64 z t) (*.f64 x y)) |
(-.f64 (*.f64 x y) (neg.f64 (*.f64 z t))) |
(-.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) |
(fma.f64 z t (*.f64 x y)) |
(fma.f64 t z (*.f64 x y)) |
(fma.f64 x y (*.f64 z t)) |
(fma.f64 y x (*.f64 z t)) |
(*.f64 x y) |
(*.f64 y x) |
x |
y |
(*.f64 z t) |
(*.f64 t z) |
z |
t |
(*.f64 a b) |
(*.f64 b a) |
a |
b |
(*.f64 c i) |
(*.f64 i c) |
c |
i |
Compiled 1 972 to 387 computations (80.4% saved)
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 77 | 6 | 83 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 78 | 6 | 84 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 97.2% | (fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
| ▶ | 90.4% | (+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) (*.f64 a b)) (*.f64 c i)) |
| ▶ | 73.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ▶ | 74.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
| ▶ | 75.7% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
| 84.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) c)))))) |
Compiled 296 to 228 computations (23% saved)
| Inputs |
|---|
(fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
i |
c |
(fma.f64 x y (fma.f64 z t (*.f64 a b))) |
x |
y |
(fma.f64 z t (*.f64 a b)) |
z |
t |
(*.f64 a b) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(fma.f64 a b (fma.f64 c i (*.f64 x y))) |
(fma.f64 c i (*.f64 x y)) |
(*.f64 x y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 c i (fma.f64 t z (*.f64 x y))) |
(fma.f64 t z (*.f64 x y)) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) |
(*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))) |
(+.f64 y (/.f64 (*.f64 t z) x)) |
(/.f64 (*.f64 t z) x) |
(*.f64 c i) |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 x y))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 t z))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#s(approx x x) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 c i))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (* c i) (* x y)) (*.f64 c i)) |
#s(approx (+ (* c i) (* x y)) (fma.f64 c i (*.f64 x y))) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (fma.f64 c i (*.f64 t z))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* t z) (* x y)) (*.f64 t z)) |
#s(approx (+ (* t z) (* x y)) (fma.f64 t z (*.f64 x y))) |
#s(approx (+ y (/ (* t z) x)) (/.f64 (*.f64 t z) x)) |
#s(approx (+ y (/ (* t z) x)) (/.f64 (fma.f64 t z (*.f64 x y)) x)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (+.f64 (/.f64 (*.f64 c i) x) (/.f64 (*.f64 t z) x)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 c i) x))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 c i) x)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 c i) x) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) |
#s(approx (+ y (/ (* t z) x)) y) |
#s(approx (+ y (/ (* t z) x)) (+.f64 y (/.f64 (*.f64 t z) x))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) x)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) x)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) x)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) x)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (+.f64 (/.f64 (*.f64 c i) y) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 c i) y))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 c i) y)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 c i) y) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y)))) |
#s(approx (+ y (/ (* t z) x)) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 t z) (*.f64 x y))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) y)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) y)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) y)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) y)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ y (/ (* t z) x)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 x y))) #s(literal 1 binary64))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y))) |
#s(approx (+ (* z t) (* a b)) (*.f64 a b)) |
#s(approx z z) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (+.f64 (/.f64 (*.f64 c i) z) (/.f64 (*.f64 x y) z)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) z)))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 c i) z))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 z (+.f64 t (/.f64 (*.f64 c i) z)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 c i) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z)))) |
#s(approx (+ y (/ (* t z) x)) (*.f64 z (+.f64 (/.f64 t x) (/.f64 y z)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) z)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z)))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) z)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) z)))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) z)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) z)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)))))) |
#s(approx (+ y (/ (* t z) x)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 y z)))))) |
#s(approx t t) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (+.f64 (/.f64 (*.f64 c i) t) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) t)))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 c i) t))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 t (+.f64 z (/.f64 (*.f64 c i) t)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 c i) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t)))) |
#s(approx (+ y (/ (* t z) x)) (*.f64 t (+.f64 (/.f64 y t) (/.f64 z x)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) t)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t)))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) t)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) t)))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) t)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) t)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ y (/ (* t z) x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y t) (*.f64 #s(literal -1 binary64) (/.f64 z x)))))) |
#s(approx a a) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 a (+.f64 b (/.f64 (*.f64 t z) a)))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (/.f64 (*.f64 t z) a))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) a)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a)))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) a)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) a)))))) |
#s(approx b b) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 b (+.f64 a (/.f64 (*.f64 t z) b)))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (/.f64 (*.f64 t z) b))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) b)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b)))))) |
#s(approx (+ (* z t) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) b)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) b)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) b)))))) |
#s(approx c c) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (+.f64 (/.f64 (*.f64 t z) c) (/.f64 (*.f64 x y) c)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (/.f64 (*.f64 t z) c))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 c (+.f64 i (/.f64 (*.f64 t z) c)))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (/.f64 (*.f64 x y) c))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 c (+.f64 i (/.f64 (*.f64 x y) c)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 t z) c) (/.f64 (*.f64 x y) c))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) c)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) c)))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) c)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) c)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) c)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) c)))))) |
#s(approx i i) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (+.f64 (/.f64 (*.f64 t z) i) (/.f64 (*.f64 x y) i)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (/.f64 (*.f64 t z) i))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 i (+.f64 c (/.f64 (*.f64 t z) i)))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (/.f64 (*.f64 x y) i))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 i (+.f64 c (/.f64 (*.f64 x y) i)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 t z) i) (/.f64 (*.f64 x y) i))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) i)))))) |
#s(approx (+ (* a b) (+ (* c i) (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) i)))))) |
#s(approx (+ (* c i) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) i)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) i)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) i)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) i)))))) |
24 calls:
| Time | Variable | Point |
|---|---|---|
| 9.0ms | c | inf |
| 6.0ms | z | inf |
| 4.0ms | x | -inf |
| 3.0ms | t | 0 |
| 3.0ms | x | inf |
| Inputs |
|---|
(fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
i |
c |
(fma.f64 x y (fma.f64 z t (*.f64 a b))) |
x |
y |
(fma.f64 z t (*.f64 a b)) |
z |
t |
(*.f64 a b) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(fma.f64 a b (fma.f64 c i (*.f64 x y))) |
(fma.f64 c i (*.f64 x y)) |
(*.f64 x y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 c i (fma.f64 t z (*.f64 x y))) |
(fma.f64 t z (*.f64 x y)) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) |
(*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))) |
(+.f64 y (/.f64 (*.f64 t z) x)) |
(/.f64 (*.f64 t z) x) |
(*.f64 c i) |
| Outputs |
|---|
(+.f64 (fma.f64 t z (*.f64 x y)) (fma.f64 a b (*.f64 c i))) |
(+.f64 (fma.f64 c i (*.f64 x y)) (fma.f64 z t (*.f64 a b))) |
(+.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))) (*.f64 c i)) |
(+.f64 (*.f64 c i) (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
(-.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))) (neg.f64 (*.f64 c i))) |
(-.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))) (*.f64 (neg.f64 c) i)) |
(-.f64 (*.f64 c i) (neg.f64 (fma.f64 x y (fma.f64 z t (*.f64 a b))))) |
(fma.f64 c i (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
(fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
i |
c |
(+.f64 (fma.f64 t z (*.f64 x y)) (*.f64 a b)) |
(+.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y)) |
(+.f64 (*.f64 a b) (fma.f64 t z (*.f64 x y))) |
(+.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))) |
(-.f64 (fma.f64 t z (*.f64 x y)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 t z (*.f64 x y)) (*.f64 (neg.f64 a) b)) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 z t (*.f64 a b)))) |
(fma.f64 x y (fma.f64 z t (*.f64 a b))) |
(fma.f64 a b (fma.f64 t z (*.f64 x y))) |
(fma.f64 b a (fma.f64 t z (*.f64 x y))) |
(fma.f64 y x (fma.f64 z t (*.f64 a b))) |
x |
y |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(-.f64 (*.f64 t z) (neg.f64 (*.f64 a b))) |
(-.f64 (*.f64 t z) (*.f64 (neg.f64 a) b)) |
(fma.f64 z t (*.f64 a b)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 b a (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
z |
t |
(*.f64 a b) |
(*.f64 b a) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 a b)) |
(+.f64 (fma.f64 a b (*.f64 c i)) (*.f64 t z)) |
(+.f64 (*.f64 a b) (fma.f64 c i (*.f64 t z))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 c i (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 b a (fma.f64 c i (*.f64 t z))) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(-.f64 (*.f64 c i) (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 c i) (*.f64 (neg.f64 t) z)) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 i c (*.f64 t z)) |
(fma.f64 z t (*.f64 c i)) |
(fma.f64 t z (*.f64 c i)) |
(*.f64 t z) |
(*.f64 z t) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(+.f64 (fma.f64 a b (*.f64 c i)) (*.f64 x y)) |
(+.f64 (fma.f64 c i (*.f64 x y)) (*.f64 a b)) |
(+.f64 (*.f64 a b) (fma.f64 c i (*.f64 x y))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 c i (*.f64 x y)))) |
(fma.f64 a b (fma.f64 c i (*.f64 x y))) |
(fma.f64 b a (fma.f64 c i (*.f64 x y))) |
(+.f64 (*.f64 x y) (*.f64 c i)) |
(+.f64 (*.f64 c i) (*.f64 x y)) |
(-.f64 (*.f64 c i) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 c i) (*.f64 (neg.f64 x) y)) |
(fma.f64 c i (*.f64 x y)) |
(fma.f64 i c (*.f64 x y)) |
(fma.f64 x y (*.f64 c i)) |
(fma.f64 y x (*.f64 c i)) |
(*.f64 x y) |
(*.f64 y x) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(+.f64 (fma.f64 t z (*.f64 x y)) (*.f64 c i)) |
(+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y)) |
(+.f64 (*.f64 c i) (fma.f64 t z (*.f64 x y))) |
(-.f64 (*.f64 c i) (neg.f64 (fma.f64 t z (*.f64 x y)))) |
(fma.f64 c i (fma.f64 t z (*.f64 x y))) |
(fma.f64 i c (fma.f64 t z (*.f64 x y))) |
(+.f64 (*.f64 x y) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 x y)) |
(-.f64 (*.f64 x y) (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 t z) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) |
(-.f64 (*.f64 t z) (*.f64 (neg.f64 x) y)) |
(fma.f64 t z (*.f64 x y)) |
(fma.f64 z t (*.f64 x y)) |
(fma.f64 x y (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (fma.f64 t (/.f64 z x) y))) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (fma.f64 t (/.f64 z x) y))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 x (fma.f64 t (/.f64 z x) y))) |
(*.f64 x (fma.f64 t (/.f64 z x) y)) |
(*.f64 (fma.f64 t (/.f64 z x) y) x) |
(+.f64 (*.f64 x y) (*.f64 (/.f64 (*.f64 t z) x) x)) |
(+.f64 (*.f64 x y) (*.f64 x (/.f64 (*.f64 t z) x))) |
(fma.f64 x y (*.f64 (/.f64 (*.f64 t z) x) x)) |
(fma.f64 y x (*.f64 (/.f64 (*.f64 t z) x) x)) |
(fma.f64 x y (*.f64 x (/.f64 (*.f64 t z) x))) |
(fma.f64 y x (*.f64 x (/.f64 (*.f64 t z) x))) |
(+.f64 y (/.f64 (*.f64 t z) x)) |
(+.f64 (/.f64 (*.f64 t z) x) y) |
(-.f64 y (neg.f64 (/.f64 (*.f64 t z) x))) |
(/.f64 (fma.f64 t z (*.f64 x y)) x) |
(fma.f64 (*.f64 t z) (/.f64 #s(literal 1 binary64) x) y) |
(fma.f64 t (/.f64 z x) y) |
(*.f64 (*.f64 t z) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 t (/.f64 z x)) |
(/.f64 (*.f64 t z) x) |
(/.f64 (neg.f64 (*.f64 t z)) (neg.f64 x)) |
(*.f64 c i) |
(*.f64 i c) |
Compiled 7 163 to 1 105 computations (84.6% saved)
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 237 | 4 | 241 |
| Fresh | 1 | 0 | 1 |
| Picked | 4 | 1 | 5 |
| Done | 0 | 0 | 0 |
| Total | 242 | 5 | 247 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 74.2% | (fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
| ✓ | 73.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ▶ | 51.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| ▶ | 76.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
| ▶ | 53.3% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
Compiled 131 to 96 computations (26.7% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
(fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i))) |
a |
b |
#s(approx (+ (* c i) (* x y)) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
(fma.f64 a b (fma.f64 z t (*.f64 c i))) |
(fma.f64 z t (*.f64 c i)) |
z |
t |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z))) |
#s(approx (+ (* t z) (* x y)) (*.f64 t z)) |
(*.f64 t z) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y))) |
(fma.f64 a b (*.f64 x y)) |
(*.f64 x y) |
x |
y |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 x y))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 c i))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (* c i) (* x y)) (*.f64 c i)) |
#s(approx (+ (* c i) (* x y)) (fma.f64 c i (*.f64 x y))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (fma.f64 c i (*.f64 t z))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* t z) (* x y)) (*.f64 t z)) |
#s(approx (+ (* t z) (* x y)) (fma.f64 t z (*.f64 x y))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 t z))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a b)) |
#s(approx (+ (* a b) (* x y)) (fma.f64 a b (*.f64 x y))) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (+.f64 (/.f64 (*.f64 c i) x) (/.f64 (*.f64 t z) x)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 c i) x))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 c i) x)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 c i) x) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) x)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) x)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) x)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) x)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) x)))))) |
#s(approx y y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (+.f64 (/.f64 (*.f64 c i) y) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 c i) y))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 c i) y)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 c i) y) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) y)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) y)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) y)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) y)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) y)))))) |
#s(approx z z) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (+.f64 (/.f64 (*.f64 c i) z) (/.f64 (*.f64 x y) z)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 c i) z))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 z (+.f64 t (/.f64 (*.f64 c i) z)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 c i) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) z)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) z)))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) z)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) z)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z)))))) |
#s(approx t t) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (+.f64 (/.f64 (*.f64 c i) t) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 c i) t))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 t (+.f64 z (/.f64 (*.f64 c i) t)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 c i) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) t)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 c i)) t)))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 c i) t)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) t)))))) |
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t)))))) |
#s(approx a a) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (/.f64 (*.f64 t z) a))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a (+.f64 b (/.f64 (*.f64 x y) a)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) a)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) a)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) a)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) a)))))) |
#s(approx b b) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (/.f64 (*.f64 t z) b))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 b (+.f64 a (/.f64 (*.f64 x y) b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) b)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 x y)) b)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (*.f64 t z)) b)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) b)))))) |
#s(approx c c) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (+.f64 (/.f64 (*.f64 t z) c) (/.f64 (*.f64 x y) c)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (/.f64 (*.f64 x y) c))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 c (+.f64 i (/.f64 (*.f64 x y) c)))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (/.f64 (*.f64 t z) c))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 c (+.f64 i (/.f64 (*.f64 t z) c)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 t z) c) (/.f64 (*.f64 x y) c))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) c)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) c)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) c)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) c)))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) c)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) c)))))) |
#s(approx i i) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (+.f64 (/.f64 (*.f64 t z) i) (/.f64 (*.f64 x y) i)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (/.f64 (*.f64 x y) i))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 i (+.f64 c (/.f64 (*.f64 x y) i)))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (/.f64 (*.f64 t z) i))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 i (+.f64 c (/.f64 (*.f64 t z) i)))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 t z) i) (/.f64 (*.f64 x y) i))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) i)))))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) i)))))) |
#s(approx (+ (* c i) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) i)))))) |
#s(approx (+ (* a b) (+ (* z t) (* c i))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) i)))))) |
#s(approx (+ (* z t) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) i)))))) |
#s(approx (+ (* c i) (+ (* t z) (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) i)))))) |
24 calls:
| Time | Variable | Point |
|---|---|---|
| 4.0ms | t | -inf |
| 1.0ms | z | -inf |
| 1.0ms | y | -inf |
| 1.0ms | x | -inf |
| 1.0ms | c | -inf |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
(fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i))) |
a |
b |
#s(approx (+ (* c i) (* x y)) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
(fma.f64 a b (fma.f64 z t (*.f64 c i))) |
(fma.f64 z t (*.f64 c i)) |
z |
t |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z))) |
#s(approx (+ (* t z) (* x y)) (*.f64 t z)) |
(*.f64 t z) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y))) |
(fma.f64 a b (*.f64 x y)) |
(*.f64 x y) |
x |
y |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b #s(approx (+ (* i c) (* x y)) (*.f64 c i)))) |
(fma.f64 a b #s(approx (+ (* i c) (* x y)) (*.f64 c i))) |
a |
b |
#s(approx (+ (* i c) (* x y)) (*.f64 c i)) |
(*.f64 c i) |
(*.f64 i c) |
c |
i |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
(+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 z t (*.f64 c i)))) |
(fma.f64 a b (fma.f64 z t (*.f64 c i))) |
(fma.f64 b a (fma.f64 z t (*.f64 c i))) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(-.f64 (*.f64 t z) (neg.f64 (*.f64 c i))) |
(-.f64 (*.f64 t z) (*.f64 (neg.f64 c) i)) |
(fma.f64 z t (*.f64 c i)) |
(fma.f64 i c (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 t z (*.f64 c i)) |
z |
t |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 c i #s(approx (+ (* x y) (* z t)) (*.f64 t z)))) |
(fma.f64 c i #s(approx (+ (* x y) (* z t)) (*.f64 t z))) |
#s(approx (+ (* x y) (* z t)) (*.f64 t z)) |
(*.f64 t z) |
(*.f64 z t) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y))) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 a b)) |
(-.f64 (*.f64 a b) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 a b) (*.f64 (neg.f64 x) y)) |
(fma.f64 a b (*.f64 x y)) |
(fma.f64 x y (*.f64 a b)) |
(fma.f64 y x (*.f64 a b)) |
(fma.f64 b a (*.f64 x y)) |
(*.f64 x y) |
(*.f64 y x) |
x |
y |
Compiled 5 457 to 807 computations (85.2% saved)
6 alts after pruning (1 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 158 | 1 | 159 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 1 | 1 |
| Total | 158 | 6 | 164 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 74.2% | (fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
| ▶ | 53.3% | (fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
| ✓ | 73.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ✓ | 51.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| ✓ | 76.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
| ✓ | 53.3% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
Compiled 157 to 114 computations (27.4% saved)
| Inputs |
|---|
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
i |
c |
#s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 x y))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 t z))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a b)) |
#s(approx (+ (* a b) (* x y)) (fma.f64 a b (*.f64 x y))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (+.f64 (/.f64 (*.f64 c i) x) (/.f64 (*.f64 t z) x)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) x)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) x)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (+.f64 (/.f64 (*.f64 c i) y) (/.f64 (*.f64 t z) y)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) y)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) y)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (+.f64 (/.f64 (*.f64 c i) z) (/.f64 (*.f64 x y) z)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) z)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (+.f64 (/.f64 (*.f64 c i) t) (/.f64 (*.f64 x y) t)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) t)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 t z (*.f64 x y))) |
#s(approx a a) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a (+.f64 b (/.f64 (*.f64 x y) a)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) a)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) a)))))) |
#s(approx b b) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 b (+.f64 a (/.f64 (*.f64 x y) b)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) b)))))) |
#s(approx (+ (* x y) (+ (* z t) (* a b))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b)))))) |
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) b)))))) |
#s(approx c c) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (+.f64 (/.f64 (*.f64 t z) c) (/.f64 (*.f64 x y) c)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) c)))))) |
#s(approx i i) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (+.f64 (/.f64 (*.f64 t z) i) (/.f64 (*.f64 x y) i)))))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) i)))))) |
24 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | i | 0 |
| 1.0ms | i | -inf |
| 1.0ms | b | -inf |
| 1.0ms | i | inf |
| 1.0ms | a | -inf |
| Inputs |
|---|
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
i |
c |
#s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
| Outputs |
|---|
(fma.f64 i c #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
i |
c |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b))) |
#s(approx (+ (* a b) (* x y)) (*.f64 a b)) |
(*.f64 a b) |
(*.f64 b a) |
a |
b |
Compiled 1 677 to 301 computations (82.1% saved)
9 alts after pruning (3 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 51 | 3 | 54 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 51 | 9 | 60 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 74.2% | (fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
| ✓ | 53.3% | (fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
| ✓ | 73.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ✓ | 51.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| ✓ | 76.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
| ✓ | 53.3% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
| 25.1% | #s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) | |
| 27.8% | #s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) | |
| 27.1% | #s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
Compiled 214 to 165 computations (22.9% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
| Outputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
| Inputs |
|---|
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 c i)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 t z)) |
#s(approx (+ (* i c) (+ (* x y) (+ (* z t) (* a b)))) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 z t (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 i c #s(approx (+ (* x y) (+ (* z t) (* a b))) (fma.f64 a b (*.f64 x y)))) |
(fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x)))) (*.f64 a b)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (fma.f64 t z (*.f64 x y))) c)))))) |
| Outputs |
|---|
(fma.f64 i c (fma.f64 x y (fma.f64 z t (*.f64 a b)))) |
89 calls:
| 53.0ms | z |
| 10.0ms | (*.f64 x y) |
| 8.0ms | b |
| 8.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 7.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 27.1% | 1 | b |
| 27.1% | 1 | (*.f64 a b) |
| 27.1% | 1 | a |
| 27.1% | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 27.1% | 1 | i |
| 27.1% | 1 | c |
| 27.1% | 1 | x |
| 27.1% | 1 | t |
| 27.1% | 1 | z |
| 27.1% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 27.1% | 1 | (*.f64 c i) |
| 27.1% | 1 | y |
| 27.1% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 27.1% | 1 | (*.f64 x y) |
| 27.1% | 1 | (*.f64 z t) |
| 45.2% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 46.0% | 3 | (*.f64 z t) |
| 40.2% | 3 | i |
| 45.1% | 4 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 41.3% | 3 | c |
| 36.3% | 3 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 46.2% | 4 | (*.f64 c i) |
| 46.7% | 6 | x |
| 35.1% | 4 | a |
| 46.7% | 4 | y |
| 47.0% | 4 | (*.f64 x y) |
| 42.6% | 3 | t |
| 33.9% | 4 | b |
| 44.7% | 4 | z |
| 47.7% | 4 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 34.9% | 4 | (*.f64 a b) |
| 50.5% | 5 | (*.f64 z t) |
| 69.8% | 3 | (*.f64 z t) |
| 63.9% | 3 | a |
| 67.5% | 3 | b |
| 71.3% | 3 | (*.f64 z t) |
| 68.5% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 69.8% | 4 | z |
| 66.6% | 3 | t |
| 56.3% | 2 | c |
| 69.3% | 3 | (*.f64 a b) |
| 58.9% | 4 | i |
| 64.9% | 4 | x |
| 56.5% | 2 | (*.f64 c i) |
| 56.4% | 2 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 56.0% | 2 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 68.7% | 5 | y |
| 69.1% | 5 | (*.f64 x y) |
| 80.7% | 2 | x |
| 75.7% | 1 | a |
| 75.7% | 1 | t |
| 81.5% | 2 | y |
| 75.7% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 84.5% | 3 | (*.f64 x y) |
| 75.7% | 1 | z |
| 75.7% | 1 | b |
| 75.7% | 1 | (*.f64 z t) |
| 79.2% | 2 | (*.f64 a b) |
| 91.9% | 3 | (*.f64 z t) |
| 82.4% | 3 | (*.f64 c i) |
| 92.6% | 3 | (*.f64 a b) |
| 92.7% | 3 | (*.f64 z t) |
| 90.2% | 3 | (*.f64 x y) |
| 90.2% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 82.7% | 3 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 82.4% | 3 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 87.6% | 3 | x |
| 89.2% | 3 | y |
| 90.3% | 3 | z |
| 88.0% | 3 | t |
| 87.9% | 3 | a |
| 91.9% | 4 | b |
| 79.7% | 3 | c |
| 83.1% | 4 | i |
| 97.2% | 1 | (*.f64 c i) |
| 97.2% | 1 | (*.f64 a b) |
| 97.2% | 1 | (*.f64 z t) |
| 97.2% | 1 | (*.f64 x y) |
| 97.2% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 97.2% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 97.2% | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 97.2% | 1 | x |
| 97.2% | 1 | y |
| 97.2% | 1 | z |
| 97.2% | 1 | t |
| 97.2% | 1 | a |
| 97.2% | 1 | b |
| 97.2% | 1 | c |
| 97.2% | 1 | i |
Compiled 655 to 894 computations (-36.5% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.836861028546938e+138 | 4.49152379491198e+153 |
| 0.0ms | -7.410998362403874e+164 | -1.9368851317652568e+163 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.836861028546938e+138 | 4.49152379491198e+153 |
| 0.0ms | -7.410998362403874e+164 | -1.9368851317652568e+163 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 8.047448057170544e+168 | 2.028289847857291e+175 |
| 16.0ms | -inf | -1.0087813755277751e+300 |
| 18.0ms | 288× | 0 | valid |
Compiled 774 to 692 computations (10.6% saved)
ival-mult!: 4.0ms (70.4% of total)ival-add!: 2.0ms (35.2% of total)adjust: 0.0ms (0% of total)| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 4.49152379491198e+153 | 1.6508895862749093e+158 |
| 0.0ms | -2.1212660864644463e+109 | -2.4706060484643973e+99 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 4.49152379491198e+153 | 1.6508895862749093e+158 |
| 0.0ms | -1.3738830938585487e+232 | -3.183612887344799e+228 |
Compiled 18 to 26 computations (-44.4% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 4.191946616314953e+209 | 5.83337922307346e+216 |
| 0.0ms | 0.012984247282330984 | 0.12502234219441083 |
| 0.0ms | -2.315686906540068e-142 | -7.512687686958132e-175 |
| 0.0ms | -1.0472569135400124e+156 | -8.519740973078042e+148 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 4.49152379491198e+153 | 1.6508895862749093e+158 |
| 0.0ms | -7.410998362403874e+164 | -1.9368851317652568e+163 |
Compiled 18 to 26 computations (-44.4% saved)
| 1× | fuel |
Compiled 650 to 86 computations (86.8% saved)
(sort c i)
(sort a b)
(sort z t)
(sort x y)
Compiled 5 865 to 2 101 computations (64.2% saved)
Loading profile data...