
Time bar (total: 3.5s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 50% | 49.9% | 49.9% | 0.2% | 0% | 0% | 0% | 6 |
| 50% | 49.9% | 49.9% | 0.2% | 0% | 0% | 0% | 7 |
| 50% | 49.9% | 49.9% | 0.2% | 0% | 0% | 0% | 8 |
| 50% | 49.9% | 49.9% | 0.2% | 0% | 0% | 0% | 9 |
| 50% | 49.9% | 49.9% | 0.2% | 0% | 0% | 0% | 10 |
| 75% | 74.8% | 24.9% | 0.2% | 0% | 0% | 0% | 11 |
| 75% | 74.8% | 24.9% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 11 to 11 computations (0% saved)
| 619.0ms | 8 256× | 0 | valid |
ival-div!: 94.0ms (46.4% of total)ival-mult!: 86.0ms (42.4% of total)ival-sub!: 21.0ms (10.4% of total)adjust: 1.0ms (0.5% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 194 |
| 1 | 266 | 193 |
| 2 | 903 | 193 |
| 3 | 3262 | 193 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.8% | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(negabs a)
(sort x y)
(sort z t)
Compiled 18 to 18 computations (0% saved)
| Inputs |
|---|
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
a |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a))) |
#s(approx (/ (- (* x y) (* z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) |
#s(approx (- (* x y) (* z t)) (-.f64 (*.f64 x y) (*.f64 t z))) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 y a)))) |
#s(approx (- (* x y) (* z t)) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t z) (*.f64 a x)))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t z) x))))) |
#s(approx y y) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
#s(approx (- (* x y) (* z t)) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x a) (/.f64 (*.f64 t z) (*.f64 a y)))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 t z) y))))) |
#s(approx (- (* x y) (* z t)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x y))) |
#s(approx (* z t) (*.f64 t z)) |
#s(approx z z) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) |
#s(approx (- (* x y) (* z t)) (*.f64 z (-.f64 (/.f64 (*.f64 x y) z) t))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a z)) (/.f64 t a))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)) (*.f64 #s(literal -1 binary64) t))))) |
#s(approx t t) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
#s(approx (- (* x y) (* z t)) (*.f64 t (-.f64 (/.f64 (*.f64 x y) t) z))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -1 binary64) z))))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) a)) |
#s(approx a a) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | t | -inf |
| 1.0ms | y | inf |
| 1.0ms | x | inf |
| 1.0ms | x | -inf |
| 1.0ms | x | 0 |
| Inputs |
|---|
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
a |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(/.f64 (neg.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (neg.f64 a)) |
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(fma.f64 x y (neg.f64 (*.f64 z t))) |
(fma.f64 y x (neg.f64 (*.f64 z t))) |
(fma.f64 x y (*.f64 (neg.f64 z) t)) |
(fma.f64 y x (*.f64 (neg.f64 z) t)) |
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))) |
(*.f64 x y) |
(*.f64 y x) |
x |
y |
(*.f64 z t) |
(*.f64 t z) |
z |
t |
a |
Compiled 695 to 171 computations (75.4% saved)
10 alts after pruning (9 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 33 | 9 | 42 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 33 | 10 | 43 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.8% | (/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
| ✓ | 93.8% | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 51.4% | (/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) | |
| 90.7% | (-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) | |
| ▶ | 93.7% | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
| ▶ | 51.8% | #s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
| 79.9% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) | |
| ▶ | 81.8% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
| 82.9% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 y a)))) | |
| ▶ | 80.8% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
Compiled 323 to 255 computations (21.1% saved)
| Inputs |
|---|
(/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
(fma.f64 y x (*.f64 (neg.f64 z) t)) |
y |
x |
(*.f64 (neg.f64 z) t) |
(neg.f64 z) |
z |
t |
a |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
(/.f64 (*.f64 x y) a) |
(*.f64 x y) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 z t) |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t)))) |
(fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))) |
#s(literal -1 binary64) |
(/.f64 z a) |
(/.f64 (*.f64 x y) (*.f64 a t)) |
(*.f64 a t) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
(*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a))) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)) |
(/.f64 (*.f64 t z) (*.f64 a y)) |
(*.f64 t z) |
(*.f64 a y) |
(/.f64 x a) |
| Outputs |
|---|
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a))) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) |
#s(approx (+ (* y x) (* (neg z) t)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x y))) |
#s(approx x x) |
#s(approx (/ (* x y) a) (/.f64 (*.f64 x y) a)) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx (- (* x y) (* z t)) (-.f64 (*.f64 x y) (*.f64 t z))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t)))) |
#s(approx (/ (* x y) (* a t)) (/.f64 (*.f64 x y) (*.f64 a t))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a))) |
#s(approx (/ x a) (/.f64 x a)) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 y a)))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a x)) (/.f64 y (*.f64 a t))))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a (*.f64 x y))) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t z) (*.f64 a x)))))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t z) x))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a t)) (/.f64 z (*.f64 a x)))))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 (*.f64 t z) (*.f64 a (*.f64 x y))) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx y y) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)) y)) |
#s(approx (/ (* t z) (* a y)) (/.f64 (*.f64 t z) (*.f64 a y))) |
#s(approx (* a y) (*.f64 a y)) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a y)) (/.f64 x (*.f64 a t))))) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x a) (/.f64 (*.f64 t z) (*.f64 a y)))))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 t z) y))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a t)) (/.f64 z (*.f64 a y)))))) |
#s(approx (neg z) (*.f64 #s(literal -1 binary64) z)) |
#s(approx z z) |
#s(approx (* z t) (*.f64 t z)) |
#s(approx (/ z a) (/.f64 z a)) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 z (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 x y) z)))) |
#s(approx (- (* x y) (* z t)) (*.f64 z (-.f64 (/.f64 (*.f64 x y) z) t))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 a (*.f64 t z))) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a y)) (/.f64 x (*.f64 a z))))) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a z)) (/.f64 t a))))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)) (*.f64 #s(literal -1 binary64) t))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a (*.f64 t z))) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a z)) (/.f64 t (*.f64 a y)))))) |
#s(approx t t) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)) t)) |
#s(approx (* a t) (*.f64 a t)) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)))) |
#s(approx (- (* x y) (* z t)) (*.f64 t (-.f64 (/.f64 (*.f64 x y) t) z))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a y)) (/.f64 x (*.f64 a t))))) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a))))) |
#s(approx (+ (* y x) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -1 binary64) z))))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a t)) (/.f64 z (*.f64 a y)))))) |
#s(approx (/ (+ (* y x) (* (neg z) t)) a) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x y)) a)) |
#s(approx a a) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) a)) |
#s(approx (/ 1 a) (/.f64 #s(literal 1 binary64) a)) |
#s(approx (* t (+ (* -1 (/ z a)) (/ (* x y) (* a t)))) (/.f64 (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t))) a)) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)) |
#s(approx (* y (+ (* -1 (/ (* t z) (* a y))) (/ x a))) (/.f64 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))) a)) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))) a)) |
#s(approx (* t (+ (* -1 (/ z a)) (/ (* x y) (* a t)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))) a))) |
#s(approx (* y (+ (* -1 (/ (* t z) (* a y))) (/ x a))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 t z) y))) a))) |
#s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 t z) y)) a))) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 44.0ms | y | 0 |
| 17.0ms | x | 0 |
| 12.0ms | t | 0 |
| 10.0ms | a | -inf |
| 8.0ms | y | -inf |
| Inputs |
|---|
(/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
(fma.f64 y x (*.f64 (neg.f64 z) t)) |
y |
x |
(*.f64 (neg.f64 z) t) |
(neg.f64 z) |
z |
t |
a |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
(/.f64 (*.f64 x y) a) |
(*.f64 x y) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 z t) |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t)))) |
(fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))) |
#s(literal -1 binary64) |
(/.f64 z a) |
(/.f64 (*.f64 x y) (*.f64 a t)) |
(*.f64 a t) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
(*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a))) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)) |
(/.f64 (*.f64 t z) (*.f64 a y)) |
(*.f64 t z) |
(*.f64 a y) |
(/.f64 x a) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (-.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (/.f64 (*.f64 x y) a) (/.f64 (neg.f64 (*.f64 z t)) a)) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) #s(literal 1 binary64)) a) |
(/.f64 (neg.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (neg.f64 a)) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a) (/.f64 (neg.f64 (*.f64 z t)) a)) |
(fma.f64 x (/.f64 y a) (/.f64 (neg.f64 (*.f64 z t)) a)) |
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z t))) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(-.f64 (*.f64 x y) (neg.f64 (neg.f64 (*.f64 z t)))) |
(-.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 z)) t)) |
(fma.f64 (neg.f64 z) t (*.f64 x y)) |
(fma.f64 t (neg.f64 z) (*.f64 x y)) |
(fma.f64 y x (neg.f64 (*.f64 z t))) |
(fma.f64 x y (neg.f64 (*.f64 z t))) |
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))) |
y |
x |
(*.f64 (neg.f64 z) t) |
(*.f64 t (neg.f64 z)) |
(neg.f64 (*.f64 z t)) |
(neg.f64 z) |
z |
t |
a |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 x (/.f64 y a)) |
(/.f64 (*.f64 x y) a) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 a)) |
(*.f64 x y) |
(*.f64 y x) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (-.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (/.f64 (*.f64 x y) a) (/.f64 (neg.f64 (*.f64 z t)) a)) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) #s(literal 1 binary64)) a) |
(/.f64 (neg.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (neg.f64 a)) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a) (/.f64 (neg.f64 (*.f64 z t)) a)) |
(fma.f64 x (/.f64 y a) (/.f64 (neg.f64 (*.f64 z t)) a)) |
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z t))) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(-.f64 (*.f64 x y) (neg.f64 (neg.f64 (*.f64 z t)))) |
(-.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 z)) t)) |
(fma.f64 (neg.f64 z) t (*.f64 x y)) |
(fma.f64 t (neg.f64 z) (*.f64 x y)) |
(fma.f64 y x (neg.f64 (*.f64 z t))) |
(fma.f64 x y (neg.f64 (*.f64 z t))) |
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))) |
(*.f64 z t) |
(*.f64 t z) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
(/.f64 #s(literal -1 binary64) (neg.f64 a)) |
(pow.f64 a #s(literal -1 binary64)) |
#s(literal 1 binary64) |
(cosh.f64 #s(literal 0 binary64)) |
(exp.f64 #s(literal 0 binary64)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (fma.f64 x (/.f64 y (*.f64 a t)) (neg.f64 (/.f64 z a))) t)) |
(*.f64 (fma.f64 x (/.f64 y (*.f64 a t)) (neg.f64 (/.f64 z a))) t) |
(*.f64 t (fma.f64 x (/.f64 y (*.f64 a t)) (neg.f64 (/.f64 z a)))) |
(+.f64 (*.f64 (neg.f64 (/.f64 z a)) t) (*.f64 (/.f64 (*.f64 x y) (*.f64 a t)) t)) |
(+.f64 (*.f64 t (neg.f64 (/.f64 z a))) (*.f64 t (/.f64 (*.f64 x y) (*.f64 a t)))) |
(fma.f64 (neg.f64 (/.f64 z a)) t (*.f64 (/.f64 (*.f64 x y) (*.f64 a t)) t)) |
(fma.f64 t (neg.f64 (/.f64 z a)) (*.f64 t (/.f64 (*.f64 x y) (*.f64 a t)))) |
(+.f64 (neg.f64 (/.f64 z a)) (/.f64 (*.f64 x y) (*.f64 a t))) |
(+.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(-.f64 (neg.f64 (/.f64 z a)) (neg.f64 (/.f64 (*.f64 x y) (*.f64 a t)))) |
(/.f64 (fma.f64 (neg.f64 (/.f64 z a)) (*.f64 a t) (*.f64 x y)) (*.f64 a t)) |
(fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(fma.f64 x (/.f64 y (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(fma.f64 (/.f64 z a) #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t))) |
(fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))) |
#s(literal -1 binary64) |
(neg.f64 #s(literal 1 binary64)) |
(*.f64 z (/.f64 #s(literal 1 binary64) a)) |
(/.f64 z a) |
(/.f64 (neg.f64 z) (neg.f64 a)) |
(*.f64 (/.f64 x a) (/.f64 y t)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) (*.f64 a t))) |
(*.f64 x (/.f64 y (*.f64 a t))) |
(/.f64 (*.f64 x y) (*.f64 a t)) |
(/.f64 (/.f64 (*.f64 x y) a) t) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 (*.f64 a t))) |
(*.f64 a t) |
(*.f64 t a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) (/.f64 x a)) y)) |
(*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) (/.f64 x a)) y) |
(*.f64 y (+.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) (/.f64 x a))) |
(+.f64 (*.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) y) (*.f64 (/.f64 x a) y)) |
(+.f64 (*.f64 y (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y)))) (*.f64 y (/.f64 x a))) |
(fma.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) y (*.f64 (/.f64 x a) y)) |
(fma.f64 y (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) (*.f64 y (/.f64 x a))) |
(+.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) (/.f64 x a)) |
(+.f64 (/.f64 x a) (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y)))) |
(-.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) (neg.f64 (/.f64 x a))) |
(/.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y))) a x) a) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z t) (*.f64 a y)) (/.f64 x a)) |
(fma.f64 (/.f64 (*.f64 z t) (*.f64 a y)) #s(literal -1 binary64) (/.f64 x a)) |
(fma.f64 x (/.f64 #s(literal 1 binary64) a) (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y)))) |
(*.f64 (/.f64 t a) (/.f64 z y)) |
(*.f64 (*.f64 z t) (/.f64 #s(literal 1 binary64) (*.f64 a y))) |
(*.f64 t (/.f64 z (*.f64 a y))) |
(/.f64 (*.f64 z t) (*.f64 a y)) |
(/.f64 (neg.f64 (*.f64 z t)) (neg.f64 (*.f64 a y))) |
(/.f64 (/.f64 (*.f64 z t) a) y) |
(*.f64 z t) |
(*.f64 t z) |
(*.f64 a y) |
(*.f64 y a) |
(*.f64 x (/.f64 #s(literal 1 binary64) a)) |
(/.f64 x a) |
(/.f64 (neg.f64 x) (neg.f64 a)) |
Compiled 3 918 to 650 computations (83.4% saved)
14 alts after pruning (10 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 159 | 7 | 166 |
| Fresh | 1 | 3 | 4 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 1 | 1 |
| Total | 162 | 14 | 176 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.8% | (/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
| ✓ | 93.8% | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 51.4% | (/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) | |
| ▶ | 90.7% | (-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
| ✓ | 93.7% | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
| ✓ | 51.8% | #s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
| ▶ | 51.7% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
| 79.9% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) | |
| 83.3% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 x (/.f64 #s(literal 1 binary64) a) (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y)))))) | |
| 85.6% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 y #s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))) a)))) | |
| ▶ | 52.2% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
| ▶ | 82.3% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))))) |
| ▶ | 85.5% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)))) |
| 51.3% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))))) |
Compiled 512 to 379 computations (26% saved)
| Inputs |
|---|
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
(/.f64 (*.f64 x y) a) |
(*.f64 x y) |
x |
y |
a |
(/.f64 (*.f64 z t) a) |
(*.f64 z t) |
z |
t |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
(*.f64 x (/.f64 y a)) |
(/.f64 y a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)))) |
(*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)) |
(/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a) |
(fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) |
#s(literal -1 binary64) |
(/.f64 (*.f64 x y) t) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))))) |
(*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a)))) |
(fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))) |
(/.f64 x a) |
(/.f64 y t) |
(neg.f64 (/.f64 z a)) |
(/.f64 z a) |
| Outputs |
|---|
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a))) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 t z) a))) |
#s(approx (/ (* x y) a) (/.f64 (*.f64 x y) a)) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (/ (- (* x y) (* z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t)))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t))) |
#s(approx (/ (* x y) t) (/.f64 (*.f64 x y) t)) |
#s(approx (+ (* (/ x a) (/ y t)) (neg (/ z a))) (-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a))) |
#s(approx (/ x a) (/.f64 x a)) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 y a)))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a x)) (/.f64 y (*.f64 a t))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z x) (/.f64 y t)))) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t z) (*.f64 a x)))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a t)) (/.f64 z (*.f64 a x)))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y t) (/.f64 z x))))) |
#s(approx y y) |
#s(approx (/ y a) (/.f64 y a)) |
#s(approx (/ y t) (/.f64 y t)) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a y)) (/.f64 x (*.f64 a t))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z y) (/.f64 x t)))) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x a) (/.f64 (*.f64 t z) (*.f64 a y)))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a t)) (/.f64 z (*.f64 a y)))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x t) (/.f64 z y))))) |
#s(approx (/ (* z t) a) (/.f64 (*.f64 t z) a)) |
#s(approx (* z t) (*.f64 t z)) |
#s(approx z z) |
#s(approx (/ z a) (/.f64 z a)) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 a z)) (/.f64 t a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 a (*.f64 t z))) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 t z)) #s(literal 1 binary64)))) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a z))) (*.f64 #s(literal -1 binary64) (/.f64 t a)))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a z)) (/.f64 t a))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a (*.f64 t z))) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 t z))))))) |
#s(approx t t) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)) t)) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x y)) t)) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 t (-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a)))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a))))) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) a)) |
#s(approx a a) |
#s(approx (/ 1 a) (/.f64 #s(literal 1 binary64) a)) |
#s(approx (* t (+ (* -1 (/ z a)) (/ (* x y) (* a t)))) (/.f64 (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t))) a)) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)) |
#s(approx (* t (+ (* (/ x a) (/ y t)) (neg (/ z a)))) (/.f64 (*.f64 t (-.f64 (/.f64 (*.f64 x y) t) z)) a)) |
#s(approx (+ (* (/ x a) (/ y t)) (neg (/ z a))) (/.f64 (-.f64 (/.f64 (*.f64 x y) t) z) a)) |
#s(approx (- (/ (* x y) a) (/ (* z t) a)) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a))) |
#s(approx (* t (+ (* -1 (/ z a)) (/ (* x y) (* a t)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))) a))) |
#s(approx (* t (+ (* (/ x a) (/ y t)) (neg (/ z a)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -1 binary64) z))) a))) |
#s(approx (+ (* (/ x a) (/ y t)) (neg (/ z a))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -1 binary64) z)) a))) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 15.0ms | t | inf |
| 4.0ms | a | -inf |
| 3.0ms | y | -inf |
| 3.0ms | a | 0 |
| 3.0ms | t | -inf |
| Inputs |
|---|
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
(/.f64 (*.f64 x y) a) |
(*.f64 x y) |
x |
y |
a |
(/.f64 (*.f64 z t) a) |
(*.f64 z t) |
z |
t |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
(*.f64 x (/.f64 y a)) |
(/.f64 y a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)))) |
(*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)) |
(/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a) |
(fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) |
#s(literal -1 binary64) |
(/.f64 (*.f64 x y) t) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))))) |
(*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a)))) |
(fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))) |
(/.f64 x a) |
(/.f64 y t) |
(neg.f64 (/.f64 z a)) |
(/.f64 z a) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(+.f64 (/.f64 (*.f64 x y) a) (neg.f64 (/.f64 (*.f64 z t) a))) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
(/.f64 (-.f64 (*.f64 (*.f64 x y) a) (*.f64 a (*.f64 z t))) (*.f64 a a)) |
(/.f64 (neg.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (neg.f64 a)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x y) a) a) (*.f64 z t)) a) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a) (neg.f64 (/.f64 (*.f64 z t) a))) |
(fma.f64 x (/.f64 y a) (neg.f64 (/.f64 (*.f64 z t) a))) |
(fma.f64 (/.f64 y a) x (neg.f64 (/.f64 (*.f64 z t) a))) |
(fma.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 x y) (neg.f64 (/.f64 (*.f64 z t) a))) |
(neg.f64 (-.f64 (/.f64 (*.f64 z t) a) (/.f64 (*.f64 x y) a))) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 x (/.f64 y a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 x y)) |
(*.f64 (/.f64 y a) x) |
(/.f64 (*.f64 x y) a) |
(/.f64 (*.f64 (*.f64 x y) #s(literal 1 binary64)) a) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 a)) |
(*.f64 x y) |
(*.f64 y x) |
x |
y |
a |
(*.f64 (*.f64 z t) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 z (/.f64 t a)) |
(/.f64 (*.f64 z t) a) |
(/.f64 (neg.f64 (*.f64 z t)) (neg.f64 a)) |
(*.f64 z t) |
(*.f64 t z) |
z |
t |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 x (/.f64 y a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 x y)) |
(*.f64 (/.f64 y a) x) |
(/.f64 (*.f64 x y) a) |
(/.f64 (*.f64 (*.f64 x y) #s(literal 1 binary64)) a) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 a)) |
(*.f64 y (/.f64 #s(literal 1 binary64) a)) |
(/.f64 y a) |
(/.f64 (neg.f64 y) (neg.f64 a)) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 x (/.f64 y a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 x y)) |
(*.f64 (/.f64 y a) x) |
(/.f64 (*.f64 x y) a) |
(/.f64 (*.f64 (*.f64 x y) #s(literal 1 binary64)) a) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 a)) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
(/.f64 #s(literal -1 binary64) (neg.f64 a)) |
(pow.f64 a #s(literal -1 binary64)) |
#s(literal 1 binary64) |
(cosh.f64 #s(literal 0 binary64)) |
(exp.f64 #s(literal 0 binary64)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (/ (+ (neg z) (/ (* x y) t)) a) (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a)))) |
(*.f64 t #s(approx (/ (+ (neg z) (/ (* x y) t)) a) (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a))) |
#s(approx (/ (+ (neg z) (/ (* x y) t)) a) (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a)) |
(*.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) (/.f64 #s(literal 1 binary64) a)) |
(+.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(+.f64 (neg.f64 (/.f64 z a)) (/.f64 (*.f64 x y) (*.f64 a t))) |
(-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a)) |
(-.f64 (neg.f64 (/.f64 z a)) (neg.f64 (/.f64 (*.f64 x y) (*.f64 a t)))) |
(-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (neg.f64 (neg.f64 (/.f64 z a)))) |
(/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) |
(/.f64 (fma.f64 (neg.f64 (/.f64 z a)) (*.f64 a t) (*.f64 x y)) (*.f64 a t)) |
(/.f64 (neg.f64 (fma.f64 x (/.f64 y t) (neg.f64 z))) (neg.f64 a)) |
(fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(fma.f64 x (/.f64 y (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))) |
(fma.f64 (/.f64 z a) #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t))) |
(fma.f64 (/.f64 y t) (/.f64 x a) (neg.f64 (/.f64 z a))) |
(+.f64 (/.f64 (*.f64 x y) t) (neg.f64 z)) |
(+.f64 (neg.f64 z) (/.f64 (*.f64 x y) t)) |
(-.f64 (neg.f64 z) (neg.f64 (/.f64 (*.f64 x y) t))) |
(/.f64 (fma.f64 (neg.f64 z) t (*.f64 x y)) t) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) t) (neg.f64 z)) |
(fma.f64 x (/.f64 y t) (neg.f64 z)) |
(fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) |
(fma.f64 z #s(literal -1 binary64) (/.f64 (*.f64 x y) t)) |
#s(literal -1 binary64) |
(neg.f64 #s(literal 1 binary64)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) t)) |
(*.f64 x (/.f64 y t)) |
(/.f64 (*.f64 x y) t) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 t)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) t)) |
(*.f64 (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) t) |
(*.f64 t (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a)) |
(+.f64 (*.f64 (neg.f64 (/.f64 z a)) t) (*.f64 (/.f64 (*.f64 x y) (*.f64 a t)) t)) |
(+.f64 (*.f64 (/.f64 (*.f64 x y) (*.f64 a t)) t) (*.f64 (neg.f64 (/.f64 z a)) t)) |
(+.f64 (*.f64 t (neg.f64 (/.f64 z a))) (*.f64 t (/.f64 (*.f64 x y) (*.f64 a t)))) |
(+.f64 (*.f64 t (/.f64 (*.f64 x y) (*.f64 a t))) (*.f64 t (neg.f64 (/.f64 z a)))) |
(fma.f64 (neg.f64 (/.f64 z a)) t (*.f64 (/.f64 (*.f64 x y) (*.f64 a t)) t)) |
(fma.f64 (/.f64 (*.f64 x y) (*.f64 a t)) t (*.f64 (neg.f64 (/.f64 z a)) t)) |
(fma.f64 t (neg.f64 (/.f64 z a)) (*.f64 t (/.f64 (*.f64 x y) (*.f64 a t)))) |
(fma.f64 t (/.f64 (*.f64 x y) (*.f64 a t)) (*.f64 t (neg.f64 (/.f64 z a)))) |
(*.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) (/.f64 #s(literal 1 binary64) a)) |
(+.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(+.f64 (neg.f64 (/.f64 z a)) (/.f64 (*.f64 x y) (*.f64 a t))) |
(-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a)) |
(-.f64 (neg.f64 (/.f64 z a)) (neg.f64 (/.f64 (*.f64 x y) (*.f64 a t)))) |
(-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (neg.f64 (neg.f64 (/.f64 z a)))) |
(/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) |
(/.f64 (fma.f64 (neg.f64 (/.f64 z a)) (*.f64 a t) (*.f64 x y)) (*.f64 a t)) |
(/.f64 (neg.f64 (fma.f64 x (/.f64 y t) (neg.f64 z))) (neg.f64 a)) |
(fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(fma.f64 x (/.f64 y (*.f64 a t)) (neg.f64 (/.f64 z a))) |
(fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))) |
(fma.f64 (/.f64 z a) #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t))) |
(fma.f64 (/.f64 y t) (/.f64 x a) (neg.f64 (/.f64 z a))) |
(*.f64 x (/.f64 #s(literal 1 binary64) a)) |
(/.f64 x a) |
(/.f64 (neg.f64 x) (neg.f64 a)) |
(*.f64 y (/.f64 #s(literal 1 binary64) t)) |
(/.f64 y t) |
(/.f64 (neg.f64 y) (neg.f64 t)) |
(*.f64 (/.f64 z a) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 z a)) |
(/.f64 (neg.f64 z) a) |
(/.f64 z (neg.f64 a)) |
(neg.f64 (/.f64 z a)) |
(*.f64 z (/.f64 #s(literal 1 binary64) a)) |
(/.f64 z a) |
(/.f64 (neg.f64 z) (neg.f64 a)) |
Compiled 4 289 to 667 computations (84.4% saved)
12 alts after pruning (6 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 149 | 5 | 154 |
| Fresh | 4 | 1 | 5 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 4 | 4 |
| Total | 156 | 12 | 168 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.8% | (/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
| ✓ | 93.8% | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| ▶ | 51.4% | (/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
| ▶ | 86.9% | (-.f64 (/.f64 (*.f64 x y) a) (*.f64 z (/.f64 t a))) |
| ✓ | 93.7% | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
| ✓ | 51.8% | #s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
| 83.8% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) t)) | |
| ✓ | 51.7% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
| ✓ | 52.2% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
| ▶ | 52.2% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
| ▶ | 43.8% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
| ▶ | 51.3% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
Compiled 352 to 263 computations (25.3% saved)
| Inputs |
|---|
(-.f64 (/.f64 (*.f64 x y) a) (*.f64 z (/.f64 t a))) |
(/.f64 (*.f64 x y) a) |
(*.f64 x y) |
x |
y |
a |
(*.f64 z (/.f64 t a)) |
z |
(/.f64 t a) |
t |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
(*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)) |
(/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) |
(*.f64 #s(literal -1 binary64) z) |
#s(literal -1 binary64) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
(*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a))) |
(*.f64 y (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) |
(*.f64 #s(literal -1 binary64) (*.f64 t z)) |
(*.f64 t z) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t)))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))) |
(/.f64 (*.f64 x y) (*.f64 a t)) |
(*.f64 a t) |
| Outputs |
|---|
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 t z) a))) |
#s(approx (/ (* x y) a) (/.f64 (*.f64 x y) a)) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (/ (- (* x y) (* z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t)))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) |
#s(approx (- (* x y) (* z t)) (-.f64 (*.f64 x y) (*.f64 t z))) |
#s(approx (/ (* x y) (* a t)) (/.f64 (*.f64 x y) (*.f64 a t))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 y a)))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a x)) (/.f64 y (*.f64 a t))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (/.f64 (*.f64 x y) t)) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z x) (/.f64 y t)))) |
#s(approx (- (* x y) (* z t)) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t z) (*.f64 a x)))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a t)) (/.f64 z (*.f64 a x)))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y t) (/.f64 z x))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t z) x))))) |
#s(approx y y) |
#s(approx (* y (/ 1 a)) (/.f64 y a)) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a y)) (/.f64 x (*.f64 a t))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z y) (/.f64 x t)))) |
#s(approx (- (* x y) (* z t)) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x a) (/.f64 (*.f64 t z) (*.f64 a y)))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 a t)) (/.f64 z (*.f64 a y)))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x t) (/.f64 z y))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 t z) y))))) |
#s(approx (* z (/ t a)) (/.f64 (*.f64 t z) a)) |
#s(approx z z) |
#s(approx (- (* x y) (* z t)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x y))) |
#s(approx (* t z) (*.f64 t z)) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 a z)) (/.f64 t a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 a (*.f64 t z))) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 z (-.f64 (/.f64 (*.f64 x y) (*.f64 t z)) #s(literal 1 binary64)))) |
#s(approx (- (* x y) (* z t)) (*.f64 z (-.f64 (/.f64 (*.f64 x y) z) t))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a z))) (*.f64 #s(literal -1 binary64) (/.f64 t a)))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a z)) (/.f64 t a))))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a (*.f64 t z))) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 t z))))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)) (*.f64 #s(literal -1 binary64) t))))) |
#s(approx (/ t a) (/.f64 t a)) |
#s(approx t t) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)) t)) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x y)) t)) |
#s(approx (* a t) (*.f64 a t)) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 t (-.f64 (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
#s(approx (- (* x y) (* z t)) (*.f64 t (-.f64 (/.f64 (*.f64 x y) t) z))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a)))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 a t)) (/.f64 z a))))) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -1 binary64) z))))) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) a)) |
#s(approx a a) |
#s(approx (* t (+ (* -1 (/ z a)) (/ (* x y) (* a t)))) (/.f64 (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t))) a)) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)) |
#s(approx (/ 1 a) (/.f64 #s(literal 1 binary64) a)) |
#s(approx (- (/ (* x y) a) (* z (/ t a))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a))) |
#s(approx (* t (+ (* -1 (/ z a)) (/ (* x y) (* a t)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))) a))) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 6.0ms | a | -inf |
| 5.0ms | z | -inf |
| 5.0ms | t | -inf |
| 4.0ms | a | 0 |
| 4.0ms | a | inf |
| Inputs |
|---|
(-.f64 (/.f64 (*.f64 x y) a) (*.f64 z (/.f64 t a))) |
(/.f64 (*.f64 x y) a) |
(*.f64 x y) |
x |
y |
a |
(*.f64 z (/.f64 t a)) |
z |
(/.f64 t a) |
t |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
(*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)) |
(/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a) |
#s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) |
(*.f64 #s(literal -1 binary64) z) |
#s(literal -1 binary64) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
(*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a))) |
(*.f64 y (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
#s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) |
(*.f64 #s(literal -1 binary64) (*.f64 t z)) |
(*.f64 t z) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t)))) |
#s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))) |
(/.f64 (*.f64 x y) (*.f64 a t)) |
(*.f64 a t) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 t z)) (/.f64 #s(literal 1 binary64) a)) |
(+.f64 (/.f64 (*.f64 x y) a) (*.f64 (neg.f64 z) (/.f64 t a))) |
(+.f64 (/.f64 (*.f64 x y) a) (neg.f64 (/.f64 (*.f64 t z) a))) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 t z) a)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) a) |
(/.f64 (neg.f64 (-.f64 (*.f64 x y) (*.f64 t z))) (neg.f64 a)) |
(fma.f64 x (/.f64 y a) (*.f64 (neg.f64 z) (/.f64 t a))) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a) (*.f64 (neg.f64 z) (/.f64 t a))) |
(fma.f64 (/.f64 y a) x (*.f64 (neg.f64 z) (/.f64 t a))) |
(fma.f64 x (/.f64 y a) (neg.f64 (/.f64 (*.f64 t z) a))) |
(fma.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a) (neg.f64 (/.f64 (*.f64 t z) a))) |
(fma.f64 (/.f64 y a) x (neg.f64 (/.f64 (*.f64 t z) a))) |
(neg.f64 (-.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a))) |
(*.f64 x (/.f64 y a)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 (/.f64 y a) x) |
(/.f64 (*.f64 x y) a) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 a)) |
(*.f64 x y) |
(*.f64 y x) |
x |
y |
a |
(*.f64 z (/.f64 t a)) |
(*.f64 (/.f64 t a) z) |
(/.f64 (*.f64 t z) a) |
z |
(*.f64 t (/.f64 #s(literal 1 binary64) a)) |
(/.f64 t a) |
(/.f64 (neg.f64 t) (neg.f64 a)) |
t |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (neg (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (neg z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(*.f64 t #s(approx (+ (neg (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (neg z) (/ (* x y) t)) (neg.f64 z)) a))) |
#s(approx (+ (neg (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (neg z) (/ (* x y) t)) (neg.f64 z)) a)) |
(/.f64 #s(approx (+ (neg z) (/ (* x y) t)) (neg.f64 z)) a) |
#s(approx (+ (neg z) (/ (* x y) t)) (neg.f64 z)) |
(*.f64 #s(literal -1 binary64) z) |
(*.f64 z #s(literal -1 binary64)) |
(neg.f64 z) |
#s(literal -1 binary64) |
(neg.f64 #s(literal 1 binary64)) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
(*.f64 x (/.f64 y a)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 (/.f64 y a) x) |
(/.f64 (*.f64 x y) a) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 a)) |
(*.f64 y (/.f64 #s(literal 1 binary64) a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) y) |
(/.f64 y a) |
(/.f64 (*.f64 y #s(literal 1 binary64)) a) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) a)) |
(/.f64 #s(literal 1 binary64) a) |
(/.f64 #s(literal -1 binary64) (neg.f64 a)) |
(pow.f64 a #s(literal -1 binary64)) |
#s(literal 1 binary64) |
(cosh.f64 #s(literal 0 binary64)) |
(exp.f64 #s(literal 0 binary64)) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) |
(*.f64 #s(literal -1 binary64) (*.f64 t z)) |
(*.f64 (*.f64 t z) #s(literal -1 binary64)) |
(*.f64 (*.f64 #s(literal -1 binary64) t) z) |
(neg.f64 (*.f64 t z)) |
(*.f64 t z) |
(*.f64 z t) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (neg (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(*.f64 t #s(approx (+ (neg (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t)))) |
#s(approx (+ (neg (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))) |
(*.f64 (/.f64 x a) (/.f64 y t)) |
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) (*.f64 a t))) |
(*.f64 x (/.f64 y (*.f64 a t))) |
(/.f64 (*.f64 x y) (*.f64 a t)) |
(/.f64 (/.f64 (*.f64 x y) a) t) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 (*.f64 a t))) |
(*.f64 a t) |
(*.f64 t a) |
Compiled 3 402 to 550 computations (83.8% saved)
12 alts after pruning (3 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 128 | 3 | 131 |
| Fresh | 1 | 0 | 1 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 6 | 6 |
| Total | 131 | 12 | 143 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.8% | (/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
| ✓ | 93.8% | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 51.4% | (/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) | |
| ✓ | 86.9% | (-.f64 (/.f64 (*.f64 x y) a) (*.f64 z (/.f64 t a))) |
| ✓ | 93.7% | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
| ✓ | 51.8% | #s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
| ✓ | 51.7% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
| ✓ | 52.2% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
| ✓ | 52.2% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
| ✓ | 43.8% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
| 51.3% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) | |
| 44.1% | #s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 (/.f64 x a) (/.f64 y t))))) |
Compiled 224 to 169 computations (24.6% saved)
Total -2.2b remaining (-2.8%)
Threshold costs -2.2b (-2.8%)
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 (/.f64 x a) (/.f64 y t))))) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(-.f64 (/.f64 (*.f64 x y) a) (*.f64 z (/.f64 t a))) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) t)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y #s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))) a)))) |
| Outputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
| Inputs |
|---|
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (/.f64 y a))) |
#s(approx (/ (- (* x y) (* z t)) a) (/.f64 (*.f64 x y) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (neg.f64 z)) a)))) |
(/.f64 #s(approx (- (* x y) (* z t)) (neg.f64 (*.f64 t z))) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 z a))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 #s(approx (+ (* -1 z) (/ (* x y) t)) (*.f64 #s(literal -1 binary64) z)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (*.f64 y (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) a))) |
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t z))) a) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (*.f64 x y) (*.f64 a t))))) |
(/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (*.f64 (/.f64 x a) (/.f64 y t))))) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(-.f64 (/.f64 (*.f64 x y) a) (*.f64 z (/.f64 t a))) |
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 (*.f64 z t) a)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 (/.f64 (fma.f64 x (/.f64 y t) (neg.f64 z)) a) t)) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t #s(approx (+ (* -1 (/ z a)) (/ (* x y) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x y) t)) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y #s(approx (+ (* -1 (/ (* t z) (* a y))) (/ x a)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))) a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z a) (/.f64 (*.f64 x y) (*.f64 a t))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 y a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 x a)))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 (*.f64 x y) (*.f64 a z))))) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 y (fma.f64 x (/.f64 #s(literal 1 binary64) a) (neg.f64 (/.f64 (*.f64 z t) (*.f64 a y)))))) |
| Outputs |
|---|
(/.f64 (fma.f64 y x (*.f64 (neg.f64 z) t)) a) |
#s(approx (/ (- (* x y) (* z t)) a) (*.f64 t (fma.f64 (/.f64 x a) (/.f64 y t) (neg.f64 (/.f64 z a))))) |
35 calls:
| 16.0ms | (*.f64 x y) |
| 10.0ms | x |
| 9.0ms | t |
| 8.0ms | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 7.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 52.2% | 1 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 52.2% | 1 | a |
| 52.2% | 1 | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 52.2% | 1 | t |
| 52.2% | 1 | z |
| 52.2% | 1 | y |
| 52.2% | 1 | x |
| 52.2% | 1 | (*.f64 z t) |
| 52.2% | 1 | (*.f64 x y) |
| 78.2% | 3 | (*.f64 x y) |
| 80.8% | 3 | (*.f64 x y) |
| 66.5% | 6 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 66.3% | 5 | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 80.9% | 3 | (*.f64 x y) |
| 75.5% | 3 | x |
| 74.4% | 3 | y |
| 70.4% | 3 | z |
| 67.1% | 3 | t |
| 62.0% | 3 | a |
| 75.9% | 3 | (*.f64 z t) |
| 93.8% | 1 | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 93.8% | 1 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 95.6% | 2 | (*.f64 z t) |
| 95.6% | 2 | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 95.7% | 2 | (*.f64 z t) |
| 95.7% | 2 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 96.0% | 2 | (*.f64 z t) |
| 93.8% | 1 | (*.f64 x y) |
| 96.4% | 2 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 96.0% | 2 | (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a) |
| 93.8% | 1 | x |
| 93.8% | 1 | y |
| 93.8% | 1 | z |
| 93.8% | 1 | t |
| 93.8% | 1 | a |
Compiled 685 to 349 computations (49.1% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.059928816316548e+299 | 1.6542886957937192e+302 |
Compiled 12 to 17 computations (-41.7% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -9.7337712008525e+307 | -1.6542886957937192e+302 |
Compiled 12 to 17 computations (-41.7% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -9.7337712008525e+307 | -1.6542886957937192e+302 |
Compiled 12 to 17 computations (-41.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.330141291460672e-121 | 2.5290824360384422e-93 |
| 0.0ms | -1.9677559413407774e-11 | -1.1423129164874485e-17 |
Compiled 12 to 17 computations (-41.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.330141291460672e-121 | 2.5290824360384422e-93 |
| 0.0ms | -1.9677559413407774e-11 | -1.1423129164874485e-17 |
Compiled 12 to 17 computations (-41.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.330141291460672e-121 | 2.5290824360384422e-93 |
| 0.0ms | -1.9677559413407774e-11 | -1.1423129164874485e-17 |
Compiled 12 to 17 computations (-41.7% saved)
| 1× | fuel |
Compiled 363 to 67 computations (81.5% saved)
(sort z t)
(sort x y)
(negabs a)
Compiled 3 026 to 1 408 computations (53.5% saved)
Loading profile data...