
Time bar (total: 16.8s)
| 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)
| 685.0ms | 8 256× | 0 | valid |
ival-mult!: 204.0ms (78% of total)ival-add!: 56.0ms (21.4% of total)adjust: 2.0ms (0.8% 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 |
|---|---|---|
| ▶ | 95.3% | (+.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 | Expression | |
|---|---|---|---|---|
| 2.0ms | b | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b (* c i) c i) |
| 1.0ms | z | @ | 0 | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b (* c i) c i) |
| 1.0ms | x | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b (* c i) c i) |
| 1.0ms | x | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b (* c i) c i) |
| 1.0ms | a | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b (* c i) c i) |
| 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 y x (*.f64 z t)) (fma.f64 b a (*.f64 c i))) |
(+.f64 (fma.f64 y x (*.f64 a b)) (fma.f64 t z (*.f64 c i))) |
(+.f64 (fma.f64 y x (*.f64 c i)) (fma.f64 t z (*.f64 a b))) |
(+.f64 (fma.f64 t z (*.f64 a b)) (fma.f64 y x (*.f64 c i))) |
(+.f64 (fma.f64 t z (*.f64 c i)) (fma.f64 y x (*.f64 a b))) |
(+.f64 (fma.f64 b a (*.f64 c i)) (fma.f64 y x (*.f64 z t))) |
(+.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) (*.f64 c i)) |
(+.f64 (fma.f64 t z (fma.f64 b a (*.f64 c i))) (*.f64 x y)) |
(+.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) (*.f64 a b)) |
(+.f64 (fma.f64 y x (fma.f64 b a (*.f64 c i))) (*.f64 z t)) |
(+.f64 (*.f64 a b) (fma.f64 y x (fma.f64 t z (*.f64 c i)))) |
(+.f64 (*.f64 c i) (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(+.f64 (*.f64 z t) (fma.f64 y x (fma.f64 b a (*.f64 c i)))) |
(+.f64 (*.f64 x y) (fma.f64 t z (fma.f64 b a (*.f64 c i)))) |
(-.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) (neg.f64 (*.f64 c i))) |
(-.f64 (fma.f64 y x (fma.f64 b a (*.f64 c i))) (neg.f64 (*.f64 z t))) |
(-.f64 (fma.f64 t z (fma.f64 b a (*.f64 c i))) (neg.f64 (*.f64 x y))) |
(-.f64 (fma.f64 y x (*.f64 z t)) (neg.f64 (fma.f64 b a (*.f64 c i)))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))))) |
(-.f64 (*.f64 c i) (neg.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))) |
(-.f64 (*.f64 z t) (neg.f64 (fma.f64 y x (fma.f64 b a (*.f64 c i))))) |
(-.f64 (fma.f64 b a (*.f64 c i)) (neg.f64 (fma.f64 y x (*.f64 z t)))) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 t z (fma.f64 b a (*.f64 c i))))) |
(-.f64 (fma.f64 t z (*.f64 a b)) (neg.f64 (fma.f64 y x (*.f64 c i)))) |
(-.f64 (fma.f64 y x (*.f64 c i)) (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(-.f64 (fma.f64 y x (*.f64 a b)) (neg.f64 (fma.f64 t z (*.f64 c i)))) |
(-.f64 (fma.f64 t z (*.f64 c i)) (neg.f64 (fma.f64 y x (*.f64 a b)))) |
(fma.f64 t z (fma.f64 y x (fma.f64 b a (*.f64 c i)))) |
(fma.f64 b a (fma.f64 y x (fma.f64 t z (*.f64 c i)))) |
(fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 z t (fma.f64 y x (fma.f64 b a (*.f64 c i)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.f64 c i)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 x y (fma.f64 t z (fma.f64 b a (*.f64 c i)))) |
(fma.f64 y x (fma.f64 t z (fma.f64 b a (*.f64 c i)))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 y x (fma.f64 b a (*.f64 c i)))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 y x (fma.f64 t z (*.f64 c i)))) |
(fma.f64 (neg.f64 i) (neg.f64 c) (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 y x (fma.f64 b a (*.f64 c i)))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 y x (fma.f64 t z (*.f64 c i)))) |
(fma.f64 (neg.f64 c) (neg.f64 i) (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 t z (fma.f64 b a (*.f64 c i)))) |
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 t z (fma.f64 b a (*.f64 c i)))) |
(neg.f64 (neg.f64 (fma.f64 t z (fma.f64 y x (fma.f64 b a (*.f64 c i)))))) |
(+.f64 (fma.f64 y x (*.f64 z t)) (*.f64 a b)) |
(+.f64 (fma.f64 y x (*.f64 a b)) (*.f64 z t)) |
(+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 z t) (fma.f64 y x (*.f64 a b))) |
(+.f64 (*.f64 a b) (fma.f64 y x (*.f64 z t))) |
(-.f64 (fma.f64 y x (*.f64 z t)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 y x (*.f64 a b)) (neg.f64 (*.f64 z t))) |
(-.f64 (fma.f64 t z (*.f64 a b)) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 y x (*.f64 z t)))) |
(-.f64 (*.f64 z t) (neg.f64 (fma.f64 y x (*.f64 a b)))) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 x y (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (fma.f64 y x (*.f64 a b))) |
(fma.f64 z t (fma.f64 y x (*.f64 a b))) |
(fma.f64 b a (fma.f64 y x (*.f64 z t))) |
(fma.f64 a b (fma.f64 y x (*.f64 z t))) |
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 y x (*.f64 a b))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 y x (*.f64 a b))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 y x (*.f64 z t))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 y x (*.f64 z t))) |
(neg.f64 (neg.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))) |
(+.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 z t) (neg.f64 (*.f64 x y))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 z t)) |
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 z t)) |
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 x y)) |
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 x y)) |
(fma.f64 y x (*.f64 z t)) |
(fma.f64 x y (*.f64 z t)) |
(fma.f64 t z (*.f64 x y)) |
(fma.f64 z t (*.f64 x y)) |
(neg.f64 (neg.f64 (fma.f64 y x (*.f64 z t)))) |
(*.f64 x y) |
(*.f64 y x) |
(*.f64 (neg.f64 x) (neg.f64 y)) |
(*.f64 (neg.f64 y) (neg.f64 x)) |
(neg.f64 (neg.f64 (*.f64 x y))) |
x |
(neg.f64 (neg.f64 x)) |
y |
(neg.f64 (neg.f64 y)) |
(*.f64 z t) |
(*.f64 t z) |
(*.f64 (neg.f64 z) (neg.f64 t)) |
(*.f64 (neg.f64 t) (neg.f64 z)) |
(neg.f64 (neg.f64 (*.f64 z t))) |
z |
(neg.f64 (neg.f64 z)) |
t |
(neg.f64 (neg.f64 t)) |
(*.f64 a b) |
(*.f64 b a) |
(*.f64 (neg.f64 a) (neg.f64 b)) |
(*.f64 (neg.f64 b) (neg.f64 a)) |
(neg.f64 (neg.f64 (*.f64 a b))) |
a |
(neg.f64 (neg.f64 a)) |
b |
(neg.f64 (neg.f64 b)) |
(*.f64 c i) |
(*.f64 i c) |
(*.f64 (neg.f64 c) (neg.f64 i)) |
(*.f64 (neg.f64 i) (neg.f64 c)) |
(neg.f64 (neg.f64 (*.f64 c i))) |
c |
(neg.f64 (neg.f64 c)) |
i |
(neg.f64 (neg.f64 i)) |
Compiled 1 233 to 565 computations (54.2% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 158 | 4 | 162 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 159 | 4 | 163 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 97.7% | (fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
| ▶ | 71.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ▶ | 72.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
| ▶ | 78.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
Compiled 69 to 69 computations (0% saved)
| Inputs |
|---|
#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))) |
a |
b |
(fma.f64 c i (*.f64 t z)) |
c |
i |
(*.f64 t z) |
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) |
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)) |
(fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
| 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 (* x y) (*.f64 x y)) |
#s(approx x x) |
#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 x) (+ (* t z) (* a b))) (fma.f64 a b (*.f64 t z))) |
#s(approx (+ (* y x) (+ (* t z) (* a b))) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#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 (+ (* y x) (+ (* t z) (* a b))) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.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 (+ (* 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 (+ (* y x) (+ (* t z) (* 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 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 (+ (* y x) (+ (* t z) (* a b))) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.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 (+ (* 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 x) (+ (* t z) (* 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 z z) |
#s(approx (+ (* y x) (+ (* t z) (* a b))) (fma.f64 a b (*.f64 x y))) |
#s(approx (+ (* t z) (* a b)) (*.f64 a b)) |
#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) (+ (* 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 x) (+ (* t z) (* a b))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) 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) (+ (* 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 x) (+ (* t z) (* 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 z) (* 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 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) (+ (* 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 x) (+ (* t z) (* a b))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) 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) (+ (* 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 x) (+ (* t z) (* 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 (+ (* t z) (* 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 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) (* 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 (+ (* y x) (+ (* t z) (* a b))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 a (+.f64 b (/.f64 (*.f64 t z) 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) (* 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 (+ (* y x) (+ (* t z) (* 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 (+ (* t z) (* 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 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) (* 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 (+ (* y x) (+ (* t z) (* a b))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 b (+.f64 a (/.f64 (*.f64 t z) 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) (* 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 (+ (* y x) (+ (* t z) (* 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 (+ (* t z) (* 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 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) (* 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 (+ (+ (+ (* 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) (* 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 (+ (+ (+ (* 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) (* 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 (+ (+ (+ (* 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) (* 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 | Expression | |
|---|---|---|---|---|
| 24.0ms | z | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* t z))) a b (+ (* c i) (* t z)) c i (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* c i) (* x y)) (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (+ (* i c) (+ (* y x) (+ (* t z) (* a b)))) (+ (* y x) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 8.0ms | a | @ | 0 | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* t z))) a b (+ (* c i) (* t z)) c i (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* c i) (* x y)) (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (+ (* i c) (+ (* y x) (+ (* t z) (* a b)))) (+ (* y x) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 4.0ms | t | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* t z))) a b (+ (* c i) (* t z)) c i (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* c i) (* x y)) (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (+ (* i c) (+ (* y x) (+ (* t z) (* a b)))) (+ (* y x) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 4.0ms | t | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* t z))) a b (+ (* c i) (* t z)) c i (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* c i) (* x y)) (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (+ (* i c) (+ (* y x) (+ (* t z) (* a b)))) (+ (* y x) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 3.0ms | x | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* t z))) a b (+ (* c i) (* t z)) c i (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* c i) (* x y)) (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (+ (* i c) (+ (* y x) (+ (* t z) (* a b)))) (+ (* y x) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| Inputs |
|---|
#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))) |
a |
b |
(fma.f64 c i (*.f64 t z)) |
c |
i |
(*.f64 t z) |
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) |
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)) |
(fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
#s(approx (+ (+ (* y x) (* z t)) (+ (* b a) (* i c))) (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 t z (*.f64 a b)) (*.f64 i c)) |
(+.f64 (fma.f64 b a (*.f64 i c)) (*.f64 t z)) |
(+.f64 (*.f64 t z) (fma.f64 b a (*.f64 i c))) |
(+.f64 (*.f64 a b) (fma.f64 c i (*.f64 t z))) |
(+.f64 (*.f64 i c) (fma.f64 t z (*.f64 a b))) |
(-.f64 (fma.f64 c i (*.f64 t z)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 t z (*.f64 a b)) (neg.f64 (*.f64 i c))) |
(-.f64 (fma.f64 b a (*.f64 i c)) (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 c i (*.f64 t z)))) |
(-.f64 (*.f64 i c) (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 i c)))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 t z (fma.f64 b a (*.f64 i c))) |
(fma.f64 z t (fma.f64 b a (*.f64 i c))) |
(fma.f64 b a (fma.f64 c i (*.f64 t z))) |
(fma.f64 i c (fma.f64 t z (*.f64 a b))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 b a (*.f64 i c))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 b a (*.f64 i c))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 c i (*.f64 t z))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 c i (*.f64 t z))) |
(fma.f64 (neg.f64 i) (neg.f64 c) (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 c) (neg.f64 i) (fma.f64 t z (*.f64 a b))) |
(neg.f64 (neg.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))))) |
a |
(neg.f64 (neg.f64 a)) |
b |
(neg.f64 (neg.f64 b)) |
(+.f64 (*.f64 t z) (*.f64 i c)) |
(+.f64 (*.f64 i c) (*.f64 t z)) |
(-.f64 (*.f64 t z) (neg.f64 (*.f64 i c))) |
(-.f64 (*.f64 i c) (neg.f64 (*.f64 t z))) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 i c)) |
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 i c)) |
(fma.f64 (neg.f64 c) (neg.f64 i) (*.f64 t z)) |
(fma.f64 (neg.f64 i) (neg.f64 c) (*.f64 t z)) |
(fma.f64 t z (*.f64 i c)) |
(fma.f64 z t (*.f64 i c)) |
(fma.f64 i c (*.f64 t z)) |
(neg.f64 (neg.f64 (fma.f64 c i (*.f64 t z)))) |
c |
(neg.f64 (neg.f64 c)) |
i |
(neg.f64 (neg.f64 i)) |
(*.f64 t z) |
(*.f64 z t) |
(*.f64 (neg.f64 z) (neg.f64 t)) |
(*.f64 (neg.f64 t) (neg.f64 z)) |
(neg.f64 (neg.f64 (*.f64 t z))) |
t |
(neg.f64 (neg.f64 t)) |
z |
(neg.f64 (neg.f64 z)) |
#s(approx (+ (+ (* y x) (* z t)) (+ (* b a) (* i c))) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(+.f64 (fma.f64 y x (*.f64 a b)) (*.f64 i c)) |
(+.f64 (fma.f64 c i (*.f64 x y)) (*.f64 a b)) |
(+.f64 (fma.f64 b a (*.f64 i c)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (fma.f64 b a (*.f64 i c))) |
(+.f64 (*.f64 a b) (fma.f64 c i (*.f64 x y))) |
(+.f64 (*.f64 i c) (fma.f64 y x (*.f64 a b))) |
(-.f64 (fma.f64 y x (*.f64 a b)) (neg.f64 (*.f64 i c))) |
(-.f64 (fma.f64 c i (*.f64 x y)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 b a (*.f64 i c)) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 b a (*.f64 i c)))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 c i (*.f64 x y)))) |
(-.f64 (*.f64 i c) (neg.f64 (fma.f64 y x (*.f64 a b)))) |
(fma.f64 a b (fma.f64 c i (*.f64 x y))) |
(fma.f64 y x (fma.f64 b a (*.f64 i c))) |
(fma.f64 x y (fma.f64 b a (*.f64 i c))) |
(fma.f64 b a (fma.f64 c i (*.f64 x y))) |
(fma.f64 i c (fma.f64 y x (*.f64 a b))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 b a (*.f64 i c))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 b a (*.f64 i c))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 c i (*.f64 x y))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 c i (*.f64 x y))) |
(fma.f64 (neg.f64 i) (neg.f64 c) (fma.f64 y x (*.f64 a b))) |
(fma.f64 (neg.f64 c) (neg.f64 i) (fma.f64 y x (*.f64 a b))) |
(neg.f64 (neg.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))))) |
(+.f64 (*.f64 x y) (*.f64 i c)) |
(+.f64 (*.f64 i c) (*.f64 x y)) |
(-.f64 (*.f64 x y) (neg.f64 (*.f64 i c))) |
(-.f64 (*.f64 i c) (neg.f64 (*.f64 x y))) |
(fma.f64 c i (*.f64 x y)) |
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 i c)) |
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 i c)) |
(fma.f64 (neg.f64 c) (neg.f64 i) (*.f64 x y)) |
(fma.f64 (neg.f64 i) (neg.f64 c) (*.f64 x y)) |
(fma.f64 y x (*.f64 i c)) |
(fma.f64 x y (*.f64 i c)) |
(fma.f64 i c (*.f64 x y)) |
(neg.f64 (neg.f64 (fma.f64 c i (*.f64 x y)))) |
(*.f64 x y) |
(*.f64 y x) |
(*.f64 (neg.f64 x) (neg.f64 y)) |
(*.f64 (neg.f64 y) (neg.f64 x)) |
(neg.f64 (neg.f64 (*.f64 x y))) |
x |
(neg.f64 (neg.f64 x)) |
y |
(neg.f64 (neg.f64 y)) |
#s(approx (+ (+ (* y x) (* z t)) (+ (* b a) (* i c))) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(+.f64 (fma.f64 t z (*.f64 x y)) (*.f64 i c)) |
(+.f64 (fma.f64 c i (*.f64 x y)) (*.f64 t z)) |
(+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z))) |
(+.f64 (*.f64 t z) (fma.f64 c i (*.f64 x y))) |
(+.f64 (*.f64 i c) (fma.f64 t z (*.f64 x y))) |
(-.f64 (fma.f64 t z (*.f64 x y)) (neg.f64 (*.f64 i c))) |
(-.f64 (fma.f64 c i (*.f64 x y)) (neg.f64 (*.f64 t z))) |
(-.f64 (fma.f64 c i (*.f64 t z)) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 c i (*.f64 t z)))) |
(-.f64 (*.f64 i c) (neg.f64 (fma.f64 t z (*.f64 x y)))) |
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 c i (*.f64 x y)))) |
(fma.f64 c i (fma.f64 t z (*.f64 x y))) |
(fma.f64 y x (fma.f64 c i (*.f64 t z))) |
(fma.f64 x y (fma.f64 c i (*.f64 t z))) |
(fma.f64 t z (fma.f64 c i (*.f64 x y))) |
(fma.f64 z t (fma.f64 c i (*.f64 x y))) |
(fma.f64 i c (fma.f64 t z (*.f64 x y))) |
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 c i (*.f64 t z))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 c i (*.f64 t z))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 c i (*.f64 x y))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 c i (*.f64 x y))) |
(fma.f64 (neg.f64 i) (neg.f64 c) (fma.f64 t z (*.f64 x y))) |
(fma.f64 (neg.f64 c) (neg.f64 i) (fma.f64 t z (*.f64 x y))) |
(neg.f64 (neg.f64 (fma.f64 c i (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))) |
(fma.f64 t z (*.f64 x y)) |
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 t z)) |
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 t z)) |
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 x y)) |
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 x y)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 x y (*.f64 t z)) |
(fma.f64 z t (*.f64 x y)) |
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 x y)))) |
(+.f64 (fma.f64 y x (*.f64 a b)) (fma.f64 c i (*.f64 t z))) |
(+.f64 (fma.f64 t z (*.f64 x y)) (fma.f64 b a (*.f64 i c))) |
(+.f64 (fma.f64 c i (*.f64 x y)) (fma.f64 t z (*.f64 a b))) |
(+.f64 (fma.f64 c i (*.f64 t z)) (fma.f64 y x (*.f64 a b))) |
(+.f64 (fma.f64 t z (*.f64 a b)) (fma.f64 c i (*.f64 x y))) |
(+.f64 (fma.f64 b a (*.f64 i c)) (fma.f64 t z (*.f64 x y))) |
(+.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) (*.f64 a b)) |
(+.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) (*.f64 x y)) |
(+.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) (*.f64 i c)) |
(+.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) (*.f64 t z)) |
(+.f64 (*.f64 a b) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(+.f64 (*.f64 x y) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(+.f64 (*.f64 i c) (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(+.f64 (*.f64 t z) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(-.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))) (neg.f64 (*.f64 t z))) |
(-.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) (neg.f64 (*.f64 i c))) |
(-.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))) (neg.f64 (*.f64 x y))) |
(-.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))) (neg.f64 (*.f64 a b))) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 a b (fma.f64 c i (*.f64 t z))))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 c i (fma.f64 t z (*.f64 x y))))) |
(-.f64 (*.f64 i c) (neg.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))) |
(-.f64 (fma.f64 t z (*.f64 x y)) (neg.f64 (fma.f64 b a (*.f64 i c)))) |
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 a b (fma.f64 c i (*.f64 x y))))) |
(-.f64 (fma.f64 c i (*.f64 x y)) (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(-.f64 (fma.f64 t z (*.f64 a b)) (neg.f64 (fma.f64 c i (*.f64 x y)))) |
(-.f64 (fma.f64 c i (*.f64 t z)) (neg.f64 (fma.f64 y x (*.f64 a b)))) |
(-.f64 (fma.f64 b a (*.f64 i c)) (neg.f64 (fma.f64 t z (*.f64 x y)))) |
(-.f64 (fma.f64 y x (*.f64 a b)) (neg.f64 (fma.f64 c i (*.f64 t z)))) |
(fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 z t (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(fma.f64 y x (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(fma.f64 b a (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 x y (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(fma.f64 (neg.f64 i) (neg.f64 c) (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
(fma.f64 (neg.f64 c) (neg.f64 i) (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
(neg.f64 (neg.f64 (fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))))) |
(+.f64 (fma.f64 y x (*.f64 a b)) (*.f64 t z)) |
(+.f64 (fma.f64 t z (*.f64 x y)) (*.f64 a b)) |
(+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 t z) (fma.f64 y x (*.f64 a b))) |
(+.f64 (*.f64 a b) (fma.f64 t z (*.f64 x y))) |
(-.f64 (fma.f64 y x (*.f64 a b)) (neg.f64 (*.f64 t z))) |
(-.f64 (fma.f64 t z (*.f64 x y)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 t z (*.f64 a b)) (neg.f64 (*.f64 x y))) |
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 t z (*.f64 x y)))) |
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 y x (*.f64 a b)))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 x y (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (fma.f64 y x (*.f64 a b))) |
(fma.f64 z t (fma.f64 y x (*.f64 a b))) |
(fma.f64 b a (fma.f64 t z (*.f64 x y))) |
(fma.f64 a b (fma.f64 t z (*.f64 x y))) |
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 y x (*.f64 a b))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 y x (*.f64 a b))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 t z (*.f64 x y))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 t z (*.f64 x y))) |
(neg.f64 (neg.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))) |
(+.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 a b) (neg.f64 (*.f64 t z))) |
(fma.f64 t z (*.f64 a b)) |
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 a b)) |
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 a b)) |
(fma.f64 (neg.f64 a) (neg.f64 b) (*.f64 t z)) |
(fma.f64 (neg.f64 b) (neg.f64 a) (*.f64 t z)) |
(fma.f64 z t (*.f64 a b)) |
(fma.f64 b a (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(*.f64 a b) |
(*.f64 b a) |
(*.f64 (neg.f64 a) (neg.f64 b)) |
(*.f64 (neg.f64 b) (neg.f64 a)) |
(neg.f64 (neg.f64 (*.f64 a b))) |
Compiled 2 813 to 1 296 computations (53.9% saved)
6 alts after pruning (3 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 367 | 3 | 370 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 3 | 4 |
| Done | 0 | 0 | 0 |
| Total | 368 | 6 | 374 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 78.5% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
| ✓ | 71.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ▶ | 51.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| ✓ | 72.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y)))) |
| ✓ | 78.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
| ▶ | 52.8% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b #s(approx (+ (* c i) (* x y)) (*.f64 c i)))) |
Compiled 120 to 117 computations (2.5% 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 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) |
t |
z |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
(fma.f64 i c (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
| 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)) (* c i)) (*.f64 x y)) |
#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)) (* 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)) (* 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)) (* 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 z z) |
#s(approx (+ (* t z) (* a b)) (*.f64 a b)) |
#s(approx (+ (* t z) (* a b)) (fma.f64 a b (*.f64 t 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 (+ (* 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 c i) z))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) 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 (+ (* 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 (+ (* i c) (+ (* t z) (* 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 c i)) z)))))) |
#s(approx (+ (* t z) (* 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 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 (+ (* 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 c i) t))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) 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 (+ (* 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 (+ (* i c) (+ (* t z) (* 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 c i)) t)))))) |
#s(approx (+ (* t z) (* 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 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (/.f64 (*.f64 t z) a))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 a (+.f64 b (/.f64 (*.f64 t z) 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 (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) a)))))) |
#s(approx (+ (* t z) (* 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 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (/.f64 (*.f64 t z) b))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 b (+.f64 a (/.f64 (*.f64 t z) 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 (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) b)))))) |
#s(approx (+ (* t z) (* 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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y))) |
#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 (+ (* 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) (+ (* t z) (* a b))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (/.f64 (*.f64 t z) 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 (+ (* 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 c) (+ (* t z) (* 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 (*.f64 t z)) 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 (+ (* 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) (+ (* t z) (* a b))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (/.f64 (*.f64 t z) 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 (+ (* 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)))))) |
#s(approx (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) i)))))) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 115.0ms | a | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) a b (+ (* c i) (* x y)) (* c i) c i (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 1.0ms | a | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) a b (+ (* c i) (* x y)) (* c i) c i (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 1.0ms | c | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) a b (+ (* c i) (* x y)) (* c i) c i (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 1.0ms | i | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) a b (+ (* c i) (* x y)) (* c i) c i (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 1.0ms | b | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) a b (+ (* c i) (* x y)) (* c i) c i (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* c i) (+ (* t z) (* x y))) (+ (* t z) (* x y)) (* t z) t z (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) (+ (* t z) (* a b)) (* a b)) |
| 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 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) |
t |
z |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
(fma.f64 i c (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
#s(approx (+ (+ (* y x) (* t z)) (+ (* b a) (* i c))) (fma.f64 a b #s(approx (+ (* i c) (* y x)) (*.f64 c i)))) |
(fma.f64 a b #s(approx (+ (* i c) (* y x)) (*.f64 c i))) |
a |
(neg.f64 (neg.f64 a)) |
b |
(neg.f64 (neg.f64 b)) |
#s(approx (+ (* i c) (* y x)) (*.f64 c i)) |
(*.f64 c i) |
(*.f64 i c) |
(*.f64 (neg.f64 c) (neg.f64 i)) |
(*.f64 (neg.f64 i) (neg.f64 c)) |
(neg.f64 (neg.f64 (*.f64 c i))) |
c |
(neg.f64 (neg.f64 c)) |
i |
(neg.f64 (neg.f64 i)) |
#s(approx (+ (+ (* y x) (* t z)) (+ (* b a) (* i c))) (fma.f64 c i #s(approx (+ (* y x) (* t z)) (*.f64 t z)))) |
(fma.f64 c i #s(approx (+ (* y x) (* t z)) (*.f64 t z))) |
#s(approx (+ (* y x) (* t z)) (*.f64 t z)) |
(*.f64 t z) |
(*.f64 z t) |
(*.f64 (neg.f64 z) (neg.f64 t)) |
(*.f64 (neg.f64 t) (neg.f64 z)) |
(neg.f64 (neg.f64 (*.f64 t z))) |
t |
(neg.f64 (neg.f64 t)) |
z |
(neg.f64 (neg.f64 z)) |
#s(approx (+ (+ (* y x) (* t z)) (+ (* b a) (* i c))) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
(+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 a b)) |
(+.f64 (fma.f64 b a (*.f64 c i)) (*.f64 t z)) |
(+.f64 (*.f64 t z) (fma.f64 b a (*.f64 c i))) |
(+.f64 (*.f64 a b) (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) |
(-.f64 (fma.f64 t z (*.f64 a b)) (neg.f64 (*.f64 c i))) |
(-.f64 (fma.f64 t z (*.f64 c i)) (neg.f64 (*.f64 a b))) |
(-.f64 (fma.f64 b a (*.f64 c i)) (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 c i)))) |
(-.f64 (*.f64 c i) (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(-.f64 (*.f64 a b) (neg.f64 (fma.f64 t z (*.f64 c i)))) |
(fma.f64 i c (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (fma.f64 b a (*.f64 c i))) |
(fma.f64 z t (fma.f64 b a (*.f64 c i))) |
(fma.f64 b a (fma.f64 t z (*.f64 c i))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 b a (*.f64 c i))) |
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 b a (*.f64 c i))) |
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 t z (*.f64 c i))) |
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 t z (*.f64 c i))) |
(fma.f64 (neg.f64 i) (neg.f64 c) (fma.f64 t z (*.f64 a b))) |
(fma.f64 (neg.f64 c) (neg.f64 i) (fma.f64 t z (*.f64 a b))) |
(neg.f64 (neg.f64 (fma.f64 i c (fma.f64 t z (*.f64 a b))))) |
(+.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 a b) (neg.f64 (*.f64 t z))) |
(fma.f64 t z (*.f64 a b)) |
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 a b)) |
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 a b)) |
(fma.f64 (neg.f64 a) (neg.f64 b) (*.f64 t z)) |
(fma.f64 (neg.f64 b) (neg.f64 a) (*.f64 t z)) |
(fma.f64 z t (*.f64 a b)) |
(fma.f64 b a (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 a b)))) |
(*.f64 a b) |
(*.f64 b a) |
(*.f64 (neg.f64 a) (neg.f64 b)) |
(*.f64 (neg.f64 b) (neg.f64 a)) |
(neg.f64 (neg.f64 (*.f64 a b))) |
Compiled 1 643 to 791 computations (51.9% saved)
7 alts after pruning (3 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 168 | 3 | 171 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 2 | 3 |
| Done | 1 | 2 | 3 |
| Total | 170 | 7 | 177 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 78.5% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
| ▶ | 52.8% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b)))) |
| ✓ | 71.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ✓ | 51.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| ✓ | 78.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
| ▶ | 24.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
| ▶ | 50.5% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
Compiled 142 to 137 computations (3.5% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y))) |
(fma.f64 a b (*.f64 x y)) |
a |
b |
(*.f64 x y) |
x |
y |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b)))) |
(fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b))) |
i |
c |
#s(approx (+ (* t z) (* a b)) (*.f64 a b)) |
(*.f64 a b) |
| 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 (+ (* 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 (+ (* 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 (+ (* 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 (+ (* 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 (+ (* 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 (+ (* t z) (* a b)) (fma.f64 a b (*.f64 t z))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 c i) z))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) 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 (+ (* i c) (+ (* t z) (* 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 c i)) z)))))) |
#s(approx (+ (* t z) (* 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 (+ (+ (+ (* 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 c i) t))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) 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 (+ (* i c) (+ (* t z) (* 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 c i)) t)))))) |
#s(approx (+ (* t z) (* 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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.f64 x y))) |
#s(approx a a) |
#s(approx (+ (* i c) (+ (* t z) (* a b))) (fma.f64 c i (*.f64 t z))) |
#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) (* x y)) (*.f64 a (+.f64 b (/.f64 (*.f64 x y) a)))) |
#s(approx (+ (* i c) (+ (* t z) (* a b))) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 c i) a) (/.f64 (*.f64 t z) a))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 a (+.f64 b (/.f64 (*.f64 t z) 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) (* 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 (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) a)))))) |
#s(approx (+ (* t z) (* 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 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) (* x y)) (*.f64 b (+.f64 a (/.f64 (*.f64 x y) b)))) |
#s(approx (+ (* i c) (+ (* t z) (* a b))) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 c i) b) (/.f64 (*.f64 t z) b))))) |
#s(approx (+ (* t z) (* a b)) (*.f64 b (+.f64 a (/.f64 (*.f64 t z) 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) (* 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 (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) b)))))) |
#s(approx (+ (* t z) (* 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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 t z (*.f64 x y)))) |
#s(approx c c) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 c (+.f64 i (+.f64 (/.f64 (*.f64 a b) c) (/.f64 (*.f64 t z) 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 (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) 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 (+ (* i c) (+ (* t z) (* a b))) (*.f64 i (+.f64 c (+.f64 (/.f64 (*.f64 a b) i) (/.f64 (*.f64 t z) 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 (+ (* i c) (+ (* t z) (* 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 (*.f64 t z)) i)))))) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 22.0ms | i | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* a b) (* x y)) a b (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) i c (+ (* t z) (* a b)) (* a b)) |
| 2.0ms | a | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* a b) (* x y)) a b (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) i c (+ (* t z) (* a b)) (* a b)) |
| 2.0ms | b | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* a b) (* x y)) a b (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) i c (+ (* t z) (* a b)) (* a b)) |
| 2.0ms | a | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* a b) (* x y)) a b (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) i c (+ (* t z) (* a b)) (* a b)) |
| 2.0ms | b | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* a b) (+ (* c i) (* x y))) (+ (* a b) (* x y)) a b (* x y) x y (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (* i c) (+ (* t z) (* a b))) i c (+ (* t z) (* a b)) (* a b)) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y))) |
(fma.f64 a b (*.f64 x y)) |
a |
b |
(*.f64 x y) |
x |
y |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b)))) |
(fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b))) |
i |
c |
#s(approx (+ (* t z) (* a b)) (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
#s(approx (+ (* t z) (+ (+ (* i c) (* y x)) (* b a))) #s(approx (+ (+ (* i c) (* y x)) (* b a)) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (* i c) (* y x)) (* b a)) (fma.f64 a b (*.f64 x y))) |
(+.f64 (*.f64 x y) (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(-.f64 (*.f64 x y) (neg.f64 (*.f64 a b))) |
(-.f64 (*.f64 a b) (neg.f64 (*.f64 x y))) |
(fma.f64 a b (*.f64 x y)) |
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 a b)) |
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 a b)) |
(fma.f64 (neg.f64 a) (neg.f64 b) (*.f64 x y)) |
(fma.f64 (neg.f64 b) (neg.f64 a) (*.f64 x y)) |
(fma.f64 y x (*.f64 a b)) |
(fma.f64 x y (*.f64 a b)) |
(fma.f64 b a (*.f64 x y)) |
(neg.f64 (neg.f64 (fma.f64 a b (*.f64 x y)))) |
a |
(neg.f64 (neg.f64 a)) |
b |
(neg.f64 (neg.f64 b)) |
(*.f64 x y) |
(*.f64 y x) |
(*.f64 (neg.f64 x) (neg.f64 y)) |
(*.f64 (neg.f64 y) (neg.f64 x)) |
(neg.f64 (neg.f64 (*.f64 x y))) |
x |
(neg.f64 (neg.f64 x)) |
y |
(neg.f64 (neg.f64 y)) |
#s(approx (+ (* t z) (+ (+ (* i c) (* y x)) (* b a))) (*.f64 x y)) |
#s(approx (+ (* t z) (+ (+ (* i c) (* y x)) (* b a))) (fma.f64 i c #s(approx (+ (* t z) (* b a)) (*.f64 a b)))) |
(fma.f64 i c #s(approx (+ (* t z) (* b a)) (*.f64 a b))) |
i |
(neg.f64 (neg.f64 i)) |
c |
(neg.f64 (neg.f64 c)) |
#s(approx (+ (* t z) (* b a)) (*.f64 a b)) |
(*.f64 a b) |
(*.f64 b a) |
(*.f64 (neg.f64 a) (neg.f64 b)) |
(*.f64 (neg.f64 b) (neg.f64 a)) |
(neg.f64 (neg.f64 (*.f64 a b))) |
Compiled 1 210 to 580 computations (52.1% saved)
11 alts after pruning (4 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 115 | 4 | 119 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 4 | 4 |
| Total | 115 | 11 | 126 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 78.5% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
| ✓ | 52.8% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b)))) |
| ✓ | 71.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
| ✓ | 51.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i #s(approx (+ (* t z) (* x y)) (*.f64 t z)))) |
| ✓ | 78.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z)))) |
| ✓ | 24.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
| 30.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) | |
| 25.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) | |
| 45.8% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.f64 x y)))) | |
| ✓ | 50.5% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
| 30.2% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
Compiled 356 to 277 computations (22.2% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.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 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
(fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(fma.f64 i c (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
15 calls:
| 15.0ms | i |
| 12.0ms | b |
| 10.0ms | c |
| 9.0ms | a |
| 9.0ms | (*.f64 a b) |
| Accuracy | Segments | Branch |
|---|---|---|
| 97.7% | 1 | (*.f64 c i) |
| 97.7% | 1 | (*.f64 a b) |
| 97.7% | 1 | (*.f64 z t) |
| 97.7% | 1 | (*.f64 x y) |
| 97.7% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 97.7% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 97.7% | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 97.7% | 1 | x |
| 97.7% | 1 | y |
| 97.7% | 1 | z |
| 97.7% | 1 | t |
| 97.7% | 1 | a |
| 97.7% | 1 | b |
| 97.7% | 1 | c |
| 97.7% | 1 | i |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.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 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c (fma.f64 t z (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
15 calls:
| 25.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 12.0ms | (*.f64 a b) |
| 8.0ms | i |
| 8.0ms | x |
| 8.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.5% | 1 | (*.f64 c i) |
| 91.3% | 3 | (*.f64 a b) |
| 91.3% | 3 | (*.f64 z t) |
| 92.2% | 3 | (*.f64 x y) |
| 90.1% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 78.5% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 78.5% | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 89.7% | 4 | x |
| 90.0% | 3 | y |
| 87.4% | 3 | z |
| 89.9% | 4 | t |
| 88.9% | 3 | a |
| 88.4% | 3 | b |
| 81.6% | 2 | c |
| 81.5% | 2 | i |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.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 c i (fma.f64 t z (*.f64 x y)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y)))) |
1 calls:
| 4.0ms | (*.f64 x y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 91.8% | 3 | (*.f64 x y) |
Compiled 3 to 9 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.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)))) |
3 calls:
| 27.0ms | (*.f64 z t) |
| 4.0ms | (*.f64 a b) |
| 4.0ms | (*.f64 x y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 90.9% | 3 | (*.f64 z t) |
| 80.4% | 2 | (*.f64 a b) |
| 90.1% | 3 | (*.f64 x y) |
Compiled 9 to 27 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
5 calls:
| 4.0ms | a |
| 3.0ms | y |
| 3.0ms | (*.f64 z t) |
| 3.0ms | (*.f64 x y) |
| 3.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.1% | 1 | a |
| 85.4% | 3 | y |
| 78.1% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 88.5% | 3 | (*.f64 x y) |
| 81.9% | 3 | (*.f64 z t) |
Compiled 15 to 45 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 i c #s(approx (+ (* t z) (* a b)) (*.f64 a b)))) |
#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)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
15 calls:
| 9.0ms | b |
| 7.0ms | i |
| 6.0ms | a |
| 3.0ms | y |
| 3.0ms | t |
| Accuracy | Segments | Branch |
|---|---|---|
| 67.6% | 3 | a |
| 69.6% | 4 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 68.9% | 3 | (*.f64 c i) |
| 67.1% | 5 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 55.5% | 2 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 73.6% | 3 | (*.f64 a b) |
| 74.8% | 4 | (*.f64 z t) |
| 68.7% | 4 | i |
| 66.5% | 4 | c |
| 69.5% | 5 | y |
| 70.4% | 4 | z |
| 68.4% | 5 | x |
| 68.7% | 4 | t |
| 74.6% | 5 | b |
| 70.0% | 4 | (*.f64 x y) |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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)))) |
| Outputs |
|---|
#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)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
2 calls:
| 3.0ms | (*.f64 a b) |
| 3.0ms | (*.f64 z t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 74.7% | 4 | (*.f64 z t) |
| 73.2% | 3 | (*.f64 a b) |
Compiled 6 to 18 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.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 (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.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)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
3 calls:
| 3.0ms | b |
| 3.0ms | (*.f64 a b) |
| 2.0ms | (*.f64 z t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 69.2% | 6 | b |
| 72.1% | 4 | (*.f64 z t) |
| 65.6% | 3 | (*.f64 a b) |
Compiled 7 to 26 computations (-271.4% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 c i (*.f64 x y)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) (fma.f64 a b (*.f64 x y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
5 calls:
| 18.0ms | z |
| 2.0ms | (*.f64 z t) |
| 2.0ms | (*.f64 c i) |
| 2.0ms | (*.f64 x y) |
| 2.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 54.6% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 52.8% | 2 | (*.f64 x y) |
| 63.2% | 4 | z |
| 65.4% | 3 | (*.f64 c i) |
| 67.6% | 3 | (*.f64 z t) |
Compiled 17 to 46 computations (-170.6% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 x y)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
15 calls:
| 4.0ms | (*.f64 c i) |
| 2.0ms | a |
| 2.0ms | b |
| 2.0ms | i |
| 2.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 48.2% | 4 | (*.f64 x y) |
| 48.6% | 4 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 33.0% | 2 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 47.0% | 3 | z |
| 44.3% | 5 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 49.8% | 4 | b |
| 40.1% | 3 | c |
| 46.3% | 6 | x |
| 49.6% | 5 | (*.f64 c i) |
| 50.6% | 3 | (*.f64 a b) |
| 45.3% | 4 | y |
| 49.2% | 5 | t |
| 44.0% | 3 | i |
| 45.5% | 3 | a |
| 53.2% | 4 | (*.f64 z t) |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
2 calls:
| 2.0ms | (*.f64 a b) |
| 1.0ms | (*.f64 z t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 50.6% | 3 | (*.f64 a b) |
| 49.7% | 3 | (*.f64 z t) |
Compiled 6 to 18 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
7 calls:
| 1.0ms | (*.f64 x y) |
| 1.0ms | b |
| 1.0ms | (*.f64 a b) |
| 1.0ms | (*.f64 z t) |
| 1.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 45.5% | 3 | (*.f64 c i) |
| 32.4% | 2 | (*.f64 x y) |
| 34.4% | 2 | z |
| 30.2% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 44.0% | 3 | b |
| 30.2% | 1 | (*.f64 z t) |
| 46.3% | 3 | (*.f64 a b) |
Compiled 21 to 63 computations (-200% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (* a b) (+ (* c i) (* x y))) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))) |
13 calls:
| 3.0ms | x |
| 1.0ms | (*.f64 x y) |
| 1.0ms | c |
| 1.0ms | a |
| 1.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 30.2% | 1 | (*.f64 x y) |
| 30.2% | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 30.2% | 1 | z |
| 30.2% | 1 | c |
| 30.2% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 30.2% | 1 | x |
| 30.2% | 1 | y |
| 30.2% | 1 | i |
| 30.2% | 1 | b |
| 30.2% | 1 | (*.f64 c i) |
| 30.2% | 1 | a |
| 30.2% | 1 | t |
| 30.2% | 1 | (*.f64 a b) |
Compiled 43 to 119 computations (-176.7% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 33.0ms | 9.204109248816454e+61 | 2.3386183701930842e+70 |
| 13.0ms | -3.9796288751536315e+148 | -3.3020935396925166e+143 |
| 36.0ms | 288× | 0 | valid |
Compiled 702 to 728 computations (-3.7% saved)
ival-mult!: 4.0ms (68.1% of total)ival-add!: 2.0ms (34% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 1.4710763282111855e+99 | 5.9508462405693015e+100 |
| 1.0ms | -3.9796288751536315e+148 | -3.3020935396925166e+143 |
| 9.0ms | 112× | 0 | valid |
Compiled 626 to 650 computations (-3.8% saved)
ival-mult!: 2.0ms (87.5% of total)ival-add!: 1.0ms (43.7% of total)adjust: 0.0ms (0% of total)| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.0867235250544296e+86 | 1.7770580223870792e+90 |
| 0.0ms | -8.544522454525118e-16 | -1.277537186412412e-24 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 1.440687164763937e+212 | 7.735580521893979e+212 |
| 15.0ms | -7.599979052765594e+183 | -4.834622036399475e+164 |
| 14.0ms | 256× | 0 | valid |
Compiled 706 to 682 computations (3.4% saved)
ival-mult!: 4.0ms (75.7% of total)ival-add!: 2.0ms (37.8% of total)adjust: 0.0ms (0% of total)| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 7.158606718873819e+93 | 2.0868344029855564e+105 |
| 0.0ms | -1.211907422539711e+131 | -9.771733094221745e+127 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 7.158606718873819e+93 | 2.0868344029855564e+105 |
| 0.0ms | -1.211907422539711e+131 | -9.771733094221745e+127 |
Compiled 18 to 26 computations (-44.4% saved)
| 3× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.433136165461013e+182 | 5.260774578606048e+206 |
| 0.0ms | 3.72091587724329e-300 | 1.6592801692119893e-294 |
| 0.0ms | -2.951695983389382e+113 | -7.01418113406508e+111 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.433136165461013e+182 | 5.260774578606048e+206 |
| 0.0ms | -2.951695983389382e+113 | -7.01418113406508e+111 |
Compiled 18 to 26 computations (-44.4% saved)
| 3× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 6.552667318528554e+90 | 6.324994225327715e+93 |
| 0.0ms | 3.0787314079285806e-106 | 2.777505609477478e-99 |
| 0.0ms | -2.951695983389382e+113 | -7.01418113406508e+111 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 34.0ms | 7.158606718873819e+93 | 2.0868344029855564e+105 |
| 13.0ms | -5.392389082030308e+141 | -3.3162841293757195e+139 |
| 37.0ms | 272× | 0 | valid |
Compiled 766 to 706 computations (7.8% saved)
ival-mult!: 7.0ms (75.7% of total)ival-add!: 2.0ms (21.6% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 30.0ms | 6.525572444728048e+55 | 1.6058757212397656e+67 |
| 13.0ms | -1.5986864469665046e+69 | -1.89459445727538e+67 |
| 17.0ms | 272× | 0 | valid |
Compiled 766 to 706 computations (7.8% saved)
ival-mult!: 4.0ms (63.2% of total)ival-add!: 2.0ms (31.6% of total)adjust: 0.0ms (0% of total)| 1× | fuel |
Compiled 188 to 116 computations (38.3% saved)
(sort c i)
(sort a b)
(sort z t)
(sort x y)
Compiled 4 475 to 3 267 computations (27% saved)
Loading profile data...