
Time bar (total: 3.6s)
| 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)
| 584.0ms | 8 256× | 0 | valid |
ival-div!: 69.0ms (40.1% of total)ival-mult!: 45.0ms (26.1% of total)ival-sub!: 37.0ms (21.5% of total)ival-add!: 20.0ms (11.6% of total)adjust: 2.0ms (1.2% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 200 |
| 1 | 291 | 190 |
| 2 | 1215 | 190 |
| 3 | 4611 | 190 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.3% | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
Compiled 18 to 18 computations (0% saved)
| Inputs |
|---|
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
x |
(/.f64 (*.f64 y (-.f64 z t)) a) |
(*.f64 y (-.f64 z t)) |
y |
(-.f64 z t) |
z |
t |
a |
| Outputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))) |
#s(approx x x) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) #s(literal 1 binary64))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a))))) |
#s(approx (* y (- z t)) (*.f64 y (-.f64 z t))) |
#s(approx y y) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (-.f64 (+.f64 (/.f64 x y) (/.f64 z a)) (/.f64 t a)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) a)))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) |
#s(approx (/ (* y (- z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 t y))) |
#s(approx (* y (- z t)) (fma.f64 #s(literal -1 binary64) (*.f64 t y) (*.f64 y z))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) t)) |
#s(approx (- z t) (-.f64 z t)) |
#s(approx z z) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (+.f64 (/.f64 x z) (/.f64 y a))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)))) |
#s(approx (* y (- z t)) (*.f64 y z)) |
#s(approx (* y (- z t)) (*.f64 z (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))) |
#s(approx (- z t) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t z))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) z)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t y) (*.f64 a z)))))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) z))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 t z) #s(literal 1 binary64))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (/.f64 (*.f64 y z) a))) |
#s(approx (- z t) (+.f64 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 y a) (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))))) |
#s(approx (* y (- z t)) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)))) |
#s(approx (- z t) (*.f64 t (-.f64 (/.f64 z t) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (/.f64 (*.f64 y z) a)) t) (/.f64 y a))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a t)) (/.f64 y a))))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t)))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z t)))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (fma.f64 a x (*.f64 y (-.f64 z t))) a)) |
#s(approx a a) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | y | inf |
| 2.0ms | y | -inf |
| 2.0ms | z | -inf |
| 2.0ms | a | 0 |
| 2.0ms | z | 0 |
| Inputs |
|---|
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
x |
(/.f64 (*.f64 y (-.f64 z t)) a) |
(*.f64 y (-.f64 z t)) |
y |
(-.f64 z t) |
z |
t |
a |
| Outputs |
|---|
(+.f64 x (*.f64 y (/.f64 (-.f64 z t) a))) |
(+.f64 (*.f64 y (/.f64 (-.f64 z t) a)) x) |
(-.f64 x (neg.f64 (*.f64 y (/.f64 (-.f64 z t) a)))) |
(/.f64 (fma.f64 x a (*.f64 y (-.f64 z t))) a) |
(fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
x |
(*.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 y (/.f64 (-.f64 z t) a)) |
(/.f64 (*.f64 y (-.f64 z t)) a) |
(/.f64 (neg.f64 (*.f64 y (-.f64 z t))) (neg.f64 a)) |
(*.f64 y (-.f64 z t)) |
(*.f64 (-.f64 z t) y) |
y |
(+.f64 z (neg.f64 t)) |
(-.f64 z t) |
(neg.f64 (-.f64 t z)) |
z |
t |
a |
Compiled 960 to 241 computations (74.9% saved)
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 47 | 8 | 55 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 47 | 9 | 56 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.3% | (fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
| 93.1% | (fma.f64 y (/.f64 (-.f64 z t) a) x) | |
| ✓ | 93.3% | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| ▶ | 66.7% | (+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
| ▶ | 79.6% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))))) |
| 83.6% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))))) | |
| 58.5% | #s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) | |
| ▶ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
| ▶ | 84.6% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
Compiled 277 to 219 computations (20.9% saved)
| Inputs |
|---|
(fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
(*.f64 y (-.f64 z t)) |
y |
(-.f64 z t) |
z |
t |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
a |
x |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(/.f64 (*.f64 y z) a) |
(*.f64 y z) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
(/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a) |
#s(approx (* y (- z t)) (*.f64 y z)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
(+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
(/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)) |
(*.f64 a x) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)))) |
(*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)) |
#s(literal -1 binary64) |
(/.f64 (*.f64 t y) (*.f64 a z)) |
(*.f64 t y) |
(*.f64 a z) |
(/.f64 y a) |
| Outputs |
|---|
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))) |
#s(approx x x) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) x)) |
#s(approx (* a x) (*.f64 a x)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) #s(literal 1 binary64))))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (+.f64 x (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a))))) |
#s(approx (* y (- z t)) (*.f64 y (-.f64 z t))) |
#s(approx y y) |
#s(approx (/ (* y z) a) (/.f64 (*.f64 y z) a)) |
#s(approx (* y z) (*.f64 y z)) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (+.f64 x (*.f64 x (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x)))))) |
#s(approx (* z (+ (* -1 (/ (* t y) (* a z))) (/ y a))) (*.f64 y (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (* t y) (* a z)) (/.f64 (*.f64 t y) (*.f64 a z))) |
#s(approx (* t y) (*.f64 t y)) |
#s(approx (/ y a) (/.f64 y a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a)))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (-.f64 (+.f64 (/.f64 x y) (/.f64 z a)) (/.f64 t a)))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 y (fma.f64 x (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))) (/.f64 x y)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 z (*.f64 a x))) (/.f64 t (*.f64 a x))))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) a)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) (*.f64 a x))) (/.f64 #s(literal 1 binary64) y))))) |
#s(approx (* z (+ (* -1 (/ (* t y) (* a z))) (/ y a))) (*.f64 #s(literal -1 binary64) (*.f64 y (*.f64 z (-.f64 (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a)))))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a)))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 t y))) |
#s(approx (* y (- z t)) (fma.f64 #s(literal -1 binary64) (*.f64 t y) (*.f64 y z))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) t)) |
#s(approx (- z t) (-.f64 z t)) |
#s(approx z z) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) |
#s(approx (/ (* y (- z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (fma.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) (/.f64 (*.f64 y z) a))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) |
#s(approx (/ (* y (- z t)) (* a x)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)) z)) |
#s(approx (* a z) (*.f64 a z)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (+.f64 (/.f64 x z) (/.f64 y a))))) |
#s(approx (* y (- z t)) (*.f64 z (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))) |
#s(approx (- z t) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t z))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 z (+.f64 (/.f64 y a) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) z)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))) (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 a x)))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))) (/.f64 y (*.f64 a x))))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) z)))))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) z))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 t z) #s(literal 1 binary64))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t y) (*.f64 a z)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) z)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) z)))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))))))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (+.f64 x (/.f64 (*.f64 y z) a))) |
#s(approx (- z t) (+.f64 z (*.f64 #s(literal -1 binary64) t))) |
#s(approx t t) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (* y (- z t)) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)))) |
#s(approx (- z t) (*.f64 t (-.f64 (/.f64 z t) #s(literal 1 binary64)))) |
#s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) t)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x))))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x)))))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a z)) (/.f64 y (*.f64 a t))))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (/.f64 (*.f64 y z) a)) t) (/.f64 y a))))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t)))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z t)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a t)) (/.f64 y a))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) t) (/.f64 y a))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x))) t) (/.f64 y (*.f64 a x)))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x))) (/.f64 y (*.f64 a x)))))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a t)) (/.f64 y (*.f64 a z)))))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (fma.f64 a x (*.f64 y (-.f64 z t))) a)) |
#s(approx (/ 1 a) (/.f64 #s(literal 1 binary64) a)) |
#s(approx a a) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (+.f64 a (/.f64 (*.f64 y (-.f64 z t)) x)) a)) |
#s(approx (* z (+ (* -1 (/ (* t y) (* a z))) (/ y a))) (/.f64 (*.f64 z (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z)))) a)) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))) a)) |
#s(approx (* z (+ (* -1 (/ (* t y) (* a z))) (/ y a))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) z))) a))) |
#s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) z)) a))) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 10.0ms | z | -inf |
| 10.0ms | a | -inf |
| 7.0ms | y | inf |
| 4.0ms | y | -inf |
| 3.0ms | y | 0 |
| Inputs |
|---|
(fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
(*.f64 y (-.f64 z t)) |
y |
(-.f64 z t) |
z |
t |
(/.f64 #s(literal 1 binary64) a) |
#s(literal 1 binary64) |
a |
x |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(/.f64 (*.f64 y z) a) |
(*.f64 y z) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
(/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a) |
#s(approx (* y (- z t)) (*.f64 y z)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
(+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
(/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)) |
(*.f64 a x) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)))) |
(*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)) |
#s(literal -1 binary64) |
(/.f64 (*.f64 t y) (*.f64 a z)) |
(*.f64 t y) |
(*.f64 a z) |
(/.f64 y a) |
| Outputs |
|---|
(+.f64 (*.f64 y (/.f64 (-.f64 z t) a)) x) |
(+.f64 x (*.f64 y (/.f64 (-.f64 z t) a))) |
(-.f64 (*.f64 y (/.f64 (-.f64 z t) a)) (neg.f64 x)) |
(-.f64 x (neg.f64 (*.f64 y (/.f64 (-.f64 z t) a)))) |
(/.f64 (fma.f64 a x (*.f64 y (-.f64 z t))) a) |
(fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
(fma.f64 y (*.f64 (-.f64 z t) (/.f64 #s(literal 1 binary64) a)) x) |
(fma.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 y (-.f64 z t)) x) |
(*.f64 y (-.f64 z t)) |
(*.f64 (-.f64 z t) y) |
y |
(+.f64 z (neg.f64 t)) |
(-.f64 z t) |
(neg.f64 (-.f64 t z)) |
z |
t |
(*.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)) |
a |
x |
#s(approx (+ (* y (/ (- z t) a)) x) (/.f64 (*.f64 y z) a)) |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 y (/.f64 z a)) |
(/.f64 (*.f64 y z) a) |
(/.f64 (neg.f64 (*.f64 y z)) (neg.f64 a)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
(/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a) |
#s(approx (* y (- z t)) (*.f64 y z)) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)))) |
(*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64))) |
(*.f64 (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) x) |
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))) x)) |
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))))) |
(fma.f64 #s(literal 1 binary64) x (*.f64 (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))) x)) |
(fma.f64 x #s(literal 1 binary64) (*.f64 x (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))))) |
(+.f64 #s(literal 1 binary64) (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x)))) |
(+.f64 (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))) #s(literal 1 binary64)) |
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))))) |
(/.f64 (fma.f64 #s(literal 1 binary64) (*.f64 a x) (*.f64 y (-.f64 z t))) (*.f64 a x)) |
(fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) (*.f64 a x)) #s(literal 1 binary64)) |
(fma.f64 (/.f64 y a) (/.f64 (-.f64 z t) x) #s(literal 1 binary64)) |
(fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) |
(*.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) (*.f64 a x))) |
(*.f64 (/.f64 y a) (/.f64 (-.f64 z t) x)) |
(*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))) |
(/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)) |
(/.f64 (*.f64 y (/.f64 (-.f64 z t) a)) x) |
(/.f64 (neg.f64 (*.f64 y (-.f64 z t))) (neg.f64 (*.f64 a x))) |
(*.f64 a x) |
(*.f64 x a) |
(+.f64 x #s(approx (* y (/ (- z t) a)) (*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (/.f64 y a)) z))) |
#s(approx (* y (/ (- z t) a)) (*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (/.f64 y a)) z)) |
(*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (/.f64 y a)) z) |
(*.f64 z (+.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (/.f64 y a))) |
(+.f64 (*.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) z) (*.f64 (/.f64 y a) z)) |
(+.f64 (*.f64 z (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z)))) (*.f64 z (/.f64 y a))) |
(fma.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) z (*.f64 (/.f64 y a) z)) |
(fma.f64 z (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (*.f64 z (/.f64 y a))) |
(+.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (/.f64 y a)) |
(+.f64 (/.f64 y a) (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z)))) |
(-.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) (neg.f64 (/.f64 y a))) |
(/.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z))) a y) a) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)) |
(fma.f64 (/.f64 (*.f64 t y) (*.f64 a z)) #s(literal -1 binary64) (/.f64 y a)) |
(fma.f64 y (/.f64 #s(literal 1 binary64) a) (neg.f64 (/.f64 (*.f64 t y) (*.f64 a z)))) |
#s(literal -1 binary64) |
(neg.f64 #s(literal 1 binary64)) |
(*.f64 (/.f64 t a) (/.f64 y z)) |
(*.f64 (*.f64 t y) (/.f64 #s(literal 1 binary64) (*.f64 a z))) |
(*.f64 t (/.f64 y (*.f64 a z))) |
(/.f64 (*.f64 t y) (*.f64 a z)) |
(/.f64 (/.f64 (*.f64 t y) a) z) |
(/.f64 (neg.f64 (*.f64 t y)) (neg.f64 (*.f64 a z))) |
(*.f64 t y) |
(*.f64 y t) |
(*.f64 a z) |
(*.f64 z a) |
(*.f64 y (/.f64 #s(literal 1 binary64) a)) |
(/.f64 y a) |
(/.f64 (neg.f64 y) (neg.f64 a)) |
Compiled 5 149 to 855 computations (83.4% saved)
17 alts after pruning (13 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 185 | 11 | 196 |
| Fresh | 1 | 2 | 3 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 1 | 1 |
| Total | 188 | 17 | 205 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.3% | (fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
| ▶ | 93.1% | (fma.f64 y (/.f64 (-.f64 z t) a) x) |
| ✓ | 93.3% | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| ✓ | 66.7% | (+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
| 85.5% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z #s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))) a))))) | |
| 83.5% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z #s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a))))))) | |
| ▶ | 83.6% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
| 58.5% | #s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) | |
| ▶ | 85.3% | #s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)))) |
| ✓ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
| ▶ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
| 29.5% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) | |
| 81.7% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (fma.f64 (/.f64 y a) (/.f64 (-.f64 z t) x) #s(literal 1 binary64)))) | |
| 49.8% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) | |
| 28.6% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))))) | |
| ▶ | 38.0% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
| 69.6% | #s(approx (+ x (/ (* y (- z t)) a)) #s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 y (fma.f64 x (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))) (/.f64 x y))))) |
Compiled 713 to 498 computations (30.2% saved)
| Inputs |
|---|
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
y |
(/.f64 (-.f64 z t) a) |
(-.f64 z t) |
z |
t |
a |
x |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
(*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 y z) |
(/.f64 #s(literal 1 binary64) a) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)))) |
(*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) |
(/.f64 (-.f64 z t) (*.f64 a x)) |
(*.f64 a x) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))))) |
(*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))) |
(fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))) |
#s(literal -1 binary64) |
(/.f64 y a) |
(/.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
| Outputs |
|---|
#s(approx (+ (* y (/ (- z t) a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* y (/ (- z t) a)) x) (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))) |
#s(approx x x) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) x)) |
#s(approx (/ (- z t) (* a x)) (/.f64 (-.f64 z t) (*.f64 a x))) |
#s(approx (* a x) (*.f64 a x)) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) #s(literal 1 binary64))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (+.f64 x (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a))))) |
#s(approx y y) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (+.f64 x (*.f64 x (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x)))))) |
#s(approx (* (* y z) (/ 1 a)) (/.f64 (*.f64 y z) a)) |
#s(approx (* y z) (*.f64 y z)) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (*.f64 t (*.f64 y (-.f64 (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 y (-.f64 (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ y a) (/.f64 y a)) |
#s(approx (/ (* y z) (* a t)) (/.f64 (*.f64 y z) (*.f64 a t))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a)))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 y (-.f64 (+.f64 (/.f64 x y) (/.f64 z a)) (/.f64 t a)))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 y (fma.f64 x (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))) (/.f64 x y)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 z (*.f64 a x))) (/.f64 t (*.f64 a x))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) a)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) (*.f64 a x))) (/.f64 #s(literal 1 binary64) y))))) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (*.f64 #s(literal -1 binary64) (*.f64 t (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a)))))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a)))) |
#s(approx (+ (* y (/ (- z t) a)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)))) |
#s(approx (/ (- z t) a) (*.f64 #s(literal -1 binary64) (/.f64 t a))) |
#s(approx (/ (- z t) a) (fma.f64 #s(literal -1 binary64) (/.f64 t a) (/.f64 z a))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) t)) |
#s(approx (- z t) (-.f64 z t)) |
#s(approx z z) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (fma.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) (/.f64 (*.f64 y z) a))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (/ (- z t) (* a x)) (*.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a x)))) |
#s(approx (/ (- z t) (* a x)) (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a x)) (/.f64 z (*.f64 a x)))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) |
#s(approx (/ (* y (- z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 y a))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (+.f64 (/.f64 x z) (/.f64 y a))))) |
#s(approx (/ (- z t) a) (/.f64 z a)) |
#s(approx (/ (- z t) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (- z t) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t z))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 z (+.f64 (/.f64 y a) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) z)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))) (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 a x)))))) |
#s(approx (/ (- z t) (* a x)) (/.f64 z (*.f64 a x))) |
#s(approx (/ (- z t) (* a x)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a (*.f64 x z))) (/.f64 #s(literal 1 binary64) (*.f64 a x))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a z)) (/.f64 y (*.f64 a t))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) z)))))) |
#s(approx (/ (- z t) a) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 t z) #s(literal 1 binary64))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) z)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) z)))))) |
#s(approx (/ (- z t) (* a x)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 t (*.f64 a (*.f64 x z))) (/.f64 #s(literal 1 binary64) (*.f64 a x)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t y) (*.f64 a z)))))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a t)) (/.f64 y (*.f64 a z)))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (+.f64 x (/.f64 (*.f64 y z) a))) |
#s(approx (- z t) (+.f64 z (*.f64 #s(literal -1 binary64) t))) |
#s(approx t t) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)) t)) |
#s(approx (* a t) (*.f64 a t)) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (/ (- z t) a) (*.f64 t (-.f64 (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (- z t) (*.f64 t (-.f64 (/.f64 z t) #s(literal 1 binary64)))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) t)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x))))))) |
#s(approx (/ (- z t) (* a x)) (*.f64 t (-.f64 (/.f64 z (*.f64 a (*.f64 t x))) (/.f64 #s(literal 1 binary64) (*.f64 a x))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (/.f64 (*.f64 y z) a)) t) (/.f64 y a))))) |
#s(approx (/ (- z t) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z t)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) t) (/.f64 y a))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x))) t) (/.f64 y (*.f64 a x)))))) |
#s(approx (/ (- z t) (* a x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a (*.f64 t x))) (/.f64 #s(literal 1 binary64) (*.f64 a x)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a t)) (/.f64 y a))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (/.f64 (fma.f64 a x (*.f64 y (-.f64 z t))) a)) |
#s(approx (/ (- z t) a) (/.f64 (-.f64 z t) a)) |
#s(approx a a) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (+.f64 a (/.f64 (*.f64 y (-.f64 z t)) x)) a)) |
#s(approx (/ 1 a) (/.f64 #s(literal 1 binary64) a)) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (/.f64 (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t))) a)) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a)) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t)))) a))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t))) a))) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 40.0ms | t | 0 |
| 27.0ms | y | -inf |
| 10.0ms | z | 0 |
| 9.0ms | a | -inf |
| 9.0ms | z | -inf |
| Inputs |
|---|
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
y |
(/.f64 (-.f64 z t) a) |
(-.f64 z t) |
z |
t |
a |
x |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
(*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 y z) |
(/.f64 #s(literal 1 binary64) a) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)))) |
(*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) |
(/.f64 (-.f64 z t) (*.f64 a x)) |
(*.f64 a x) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))))) |
(*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))) |
(fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))) |
#s(literal -1 binary64) |
(/.f64 y a) |
(/.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
| Outputs |
|---|
(+.f64 (*.f64 (/.f64 (-.f64 z t) a) y) x) |
(+.f64 x (*.f64 (/.f64 (-.f64 z t) a) y)) |
(-.f64 (*.f64 (/.f64 (-.f64 z t) a) y) (neg.f64 x)) |
(-.f64 x (neg.f64 (*.f64 (/.f64 (-.f64 z t) a) y))) |
(/.f64 (fma.f64 a x (*.f64 (-.f64 z t) y)) a) |
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
(fma.f64 (*.f64 (-.f64 z t) y) (/.f64 #s(literal 1 binary64) a) x) |
(fma.f64 (/.f64 (-.f64 z t) a) y x) |
y |
(*.f64 (-.f64 z t) (/.f64 #s(literal 1 binary64) a)) |
(-.f64 (/.f64 z a) (/.f64 t a)) |
(/.f64 (-.f64 z t) a) |
(/.f64 (neg.f64 (-.f64 z t)) (neg.f64 a)) |
(+.f64 z (neg.f64 t)) |
(-.f64 z t) |
(neg.f64 (-.f64 t z)) |
z |
t |
a |
x |
#s(approx (+ x (* y (/ (- z t) a))) (*.f64 x #s(approx (+ 1 (* y (/ (- z t) (* a x)))) #s(literal 1 binary64)))) |
(*.f64 x #s(approx (+ 1 (* y (/ (- z t) (* a x)))) #s(literal 1 binary64))) |
#s(approx (+ 1 (* y (/ (- z t) (* a x)))) #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 (*.f64 y z) a)) |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 y z)) |
(*.f64 y (*.f64 z (/.f64 #s(literal 1 binary64) a))) |
(/.f64 (*.f64 y z) a) |
(/.f64 (*.f64 (*.f64 y z) #s(literal 1 binary64)) a) |
(*.f64 y z) |
(*.f64 z y) |
(*.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(approx (+ x (* y (/ (- z t) a))) (*.f64 (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) x)) |
(*.f64 (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) x) |
(*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64))) |
(+.f64 (*.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) x) (*.f64 #s(literal 1 binary64) x)) |
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y)) (*.f64 x #s(literal 1 binary64))) |
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) x)) |
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y))) |
(fma.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) x (*.f64 #s(literal 1 binary64) x)) |
(fma.f64 x (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) (*.f64 x #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) x (*.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) x)) |
(fma.f64 x #s(literal 1 binary64) (*.f64 x (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y))) |
(+.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) #s(literal 1 binary64)) |
(+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y)) |
(-.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y) #s(literal -1 binary64)) |
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y))) |
(/.f64 (fma.f64 #s(literal 1 binary64) (*.f64 a x) (*.f64 (-.f64 z t) y)) (*.f64 a x)) |
(fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)) |
(fma.f64 (*.f64 (-.f64 z t) y) (/.f64 #s(literal 1 binary64) (*.f64 a x)) #s(literal 1 binary64)) |
(fma.f64 (/.f64 (-.f64 z t) (*.f64 a x)) y #s(literal 1 binary64)) |
(fma.f64 (/.f64 y a) (/.f64 (-.f64 z t) x) #s(literal 1 binary64)) |
(*.f64 (-.f64 z t) (/.f64 #s(literal 1 binary64) (*.f64 a x))) |
(-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))) |
(/.f64 (-.f64 z t) (*.f64 a x)) |
(/.f64 (/.f64 (-.f64 z t) a) x) |
(/.f64 (neg.f64 (-.f64 z t)) (neg.f64 (*.f64 a x))) |
(*.f64 a x) |
(*.f64 x a) |
(+.f64 x #s(approx (* y (/ (- z t) a)) (*.f64 (fma.f64 y (/.f64 z (*.f64 a t)) (neg.f64 (/.f64 y a))) t))) |
#s(approx (* y (/ (- z t) a)) (*.f64 (fma.f64 y (/.f64 z (*.f64 a t)) (neg.f64 (/.f64 y a))) t)) |
(*.f64 (fma.f64 y (/.f64 z (*.f64 a t)) (neg.f64 (/.f64 y a))) t) |
(*.f64 t (fma.f64 y (/.f64 z (*.f64 a t)) (neg.f64 (/.f64 y a)))) |
(+.f64 (*.f64 (neg.f64 (/.f64 y a)) t) (*.f64 (/.f64 (*.f64 y z) (*.f64 a t)) t)) |
(+.f64 (*.f64 t (neg.f64 (/.f64 y a))) (*.f64 t (/.f64 (*.f64 y z) (*.f64 a t)))) |
(fma.f64 (neg.f64 (/.f64 y a)) t (*.f64 (/.f64 (*.f64 y z) (*.f64 a t)) t)) |
(fma.f64 t (neg.f64 (/.f64 y a)) (*.f64 t (/.f64 (*.f64 y z) (*.f64 a t)))) |
(+.f64 (neg.f64 (/.f64 y a)) (/.f64 (*.f64 y z) (*.f64 a t))) |
(+.f64 (/.f64 (*.f64 y z) (*.f64 a t)) (neg.f64 (/.f64 y a))) |
(-.f64 (neg.f64 (/.f64 y a)) (neg.f64 (/.f64 (*.f64 y z) (*.f64 a t)))) |
(/.f64 (fma.f64 (neg.f64 (/.f64 y a)) (*.f64 a t) (*.f64 y z)) (*.f64 a t)) |
(fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))) |
(fma.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) (*.f64 a t)) (neg.f64 (/.f64 y a))) |
(fma.f64 y (/.f64 z (*.f64 a t)) (neg.f64 (/.f64 y a))) |
(fma.f64 (/.f64 y a) #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a t))) |
(fma.f64 (/.f64 y a) (/.f64 z t) (neg.f64 (/.f64 y a))) |
#s(literal -1 binary64) |
(neg.f64 #s(literal 1 binary64)) |
(*.f64 y (/.f64 #s(literal 1 binary64) a)) |
(/.f64 y a) |
(/.f64 (neg.f64 y) (neg.f64 a)) |
(*.f64 (/.f64 y a) (/.f64 z t)) |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) (*.f64 a t))) |
(*.f64 y (/.f64 z (*.f64 a t))) |
(/.f64 (*.f64 y z) (*.f64 a t)) |
(/.f64 (/.f64 (*.f64 y z) a) t) |
(/.f64 (neg.f64 (*.f64 y z)) (neg.f64 (*.f64 a t))) |
(*.f64 a t) |
(*.f64 t a) |
Compiled 5 034 to 852 computations (83.1% saved)
19 alts after pruning (11 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 190 | 6 | 196 |
| Fresh | 3 | 5 | 8 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 4 | 4 |
| Total | 194 | 19 | 213 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.3% | (fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
| ✓ | 93.1% | (fma.f64 y (/.f64 (-.f64 z t) a) x) |
| 64.7% | (fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) | |
| ✓ | 93.3% | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| ✓ | 66.7% | (+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
| 83.5% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z #s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a))))))) | |
| 83.6% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (+.f64 (/.f64 (*.f64 y z) (*.f64 a t)) (neg.f64 (/.f64 y a)))))) | |
| ▶ | 86.0% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a))))) |
| 70.3% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 y a)))))) | |
| ▶ | 58.5% | #s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 81.7% | #s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 (/.f64 y a) (/.f64 (-.f64 z t) x) #s(literal 1 binary64)))) | |
| ✓ | 85.3% | #s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)))) |
| 63.5% | #s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y #s(approx (/ (- z t) (* a x)) (/.f64 z (*.f64 a x))) #s(literal 1 binary64)))) | |
| ✓ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
| ✓ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
| ▶ | 29.5% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
| ▶ | 49.8% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
| ▶ | 28.6% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))))) |
| ✓ | 38.0% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
Compiled 697 to 495 computations (29% saved)
| Inputs |
|---|
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a))))) |
x |
#s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a)))) |
(*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a))) |
t |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a)) |
(/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a) |
(fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) |
#s(literal -1 binary64) |
y |
(/.f64 (*.f64 y z) t) |
(*.f64 y z) |
z |
a |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
(*.f64 y (/.f64 z a)) |
(/.f64 z a) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(/.f64 (*.f64 y (-.f64 z t)) a) |
(*.f64 y (-.f64 z t)) |
(-.f64 z t) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))))) |
(*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))) |
(/.f64 (*.f64 y z) (*.f64 a x)) |
(*.f64 a x) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
(*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
(/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)) |
| Outputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))) |
#s(approx x x) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) x)) |
#s(approx (/ (* y z) (* a x)) (/.f64 (*.f64 y z) (*.f64 a x))) |
#s(approx (* a x) (*.f64 a x)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) #s(literal 1 binary64))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a))))) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (*.f64 t (*.f64 y (-.f64 (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 y (-.f64 (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a)))) |
#s(approx (/ (+ (* -1 y) (/ (* y z) t)) a) (/.f64 (*.f64 y (-.f64 (/.f64 z t) #s(literal 1 binary64))) a)) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 y (-.f64 (/.f64 z t) #s(literal 1 binary64)))) |
#s(approx y y) |
#s(approx (/ (* y z) t) (/.f64 (*.f64 y z) t)) |
#s(approx (* y z) (*.f64 y z)) |
#s(approx (* y (/ z a)) (/.f64 (*.f64 y z) a)) |
#s(approx (* y (- z t)) (*.f64 y (-.f64 z t))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (+.f64 x (*.f64 x (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x)))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (-.f64 (/.f64 z a) (/.f64 t a)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (-.f64 (+.f64 (/.f64 x y) (/.f64 z a)) (/.f64 t a)))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 y (fma.f64 x (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))) (/.f64 x y)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 z (*.f64 a x))) (/.f64 t (*.f64 a x))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) a)))))) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (*.f64 #s(literal -1 binary64) (*.f64 t (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a)))))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 a t)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (/ (+ (* -1 y) (/ (* y z) t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z t)))) a))) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z t)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 z t) (*.f64 a x))) (/.f64 #s(literal 1 binary64) y))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) |
#s(approx (/ (* y (- z t)) a) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 y a))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 #s(literal -1 binary64) y)) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t))) |
#s(approx z z) |
#s(approx (/ z a) (/.f64 z a)) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 t y))) |
#s(approx (* y (- z t)) (fma.f64 #s(literal -1 binary64) (*.f64 t y) (*.f64 y z))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) t)) |
#s(approx (- z t) (-.f64 z t)) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (fma.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) (/.f64 (*.f64 y z) a))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) |
#s(approx (/ (* y (- z t)) (* a x)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (+.f64 (/.f64 x z) (/.f64 y a))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a)))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (*.f64 y z) (*.f64 a t))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a z)) (/.f64 y (*.f64 a t))))) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y z) (/.f64 y t)))) |
#s(approx (* y (- z t)) (*.f64 z (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))) |
#s(approx (- z t) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t z))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 z (+.f64 (/.f64 y a) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) z)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))) (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 a x)))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))) (/.f64 y (*.f64 a x))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a))) z)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 t y) (*.f64 a z)))))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a t)) (/.f64 y (*.f64 a z)))))) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y t) (/.f64 y z))))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) z))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 t z) #s(literal 1 binary64))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y a) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x))))) z)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a x)))) z)))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (/.f64 (*.f64 t y) (*.f64 a (*.f64 x z))))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (+.f64 x (/.f64 (*.f64 y z) a))) |
#s(approx t t) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (/.f64 (*.f64 y z) a)) t)) |
#s(approx (+ (* -1 y) (/ (* y z) t)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 t y) (*.f64 y z)) t)) |
#s(approx (- z t) (+.f64 z (*.f64 #s(literal -1 binary64) t))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) a) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (+.f64 (/.f64 x t) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t))))) |
#s(approx (* y (- z t)) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)))) |
#s(approx (- z t) (*.f64 t (-.f64 (/.f64 z t) #s(literal 1 binary64)))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) t)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x))))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 a x)) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x)))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (/.f64 (*.f64 y z) a)) t) (/.f64 y a))))) |
#s(approx (/ (* y (- z t)) a) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a t)) (/.f64 y a))))) |
#s(approx (* y (- z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t)))))) |
#s(approx (- z t) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z t)))))) |
#s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x)))) t) (/.f64 y a))))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) (*.f64 a x))) t) (/.f64 y (*.f64 a x)))))) |
#s(approx (/ (* y (- z t)) (* a x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) (*.f64 a (*.f64 t x))) (/.f64 y (*.f64 a x)))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (fma.f64 a x (*.f64 y (-.f64 z t))) a)) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (/.f64 (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t))) a)) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a)) |
#s(approx a a) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (+.f64 a (/.f64 (*.f64 y (-.f64 z t)) x)) a)) |
#s(approx (* t (+ (* -1 (/ y a)) (/ (* y z) (* a t)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t)))) a))) |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t))) a))) |
15 calls:
| Time | Variable | Point |
|---|---|---|
| 39.0ms | a | inf |
| 28.0ms | y | 0 |
| 12.0ms | y | inf |
| 8.0ms | y | -inf |
| 5.0ms | z | -inf |
| Inputs |
|---|
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a))))) |
x |
#s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a)))) |
(*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a))) |
t |
#s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a)) |
(/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a) |
(fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) |
#s(literal -1 binary64) |
y |
(/.f64 (*.f64 y z) t) |
(*.f64 y z) |
z |
a |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
(*.f64 y (/.f64 z a)) |
(/.f64 z a) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(/.f64 (*.f64 y (-.f64 z t)) a) |
(*.f64 y (-.f64 z t)) |
(-.f64 z t) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))))) |
(*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))) |
(/.f64 (*.f64 y z) (*.f64 a x)) |
(*.f64 a x) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
(*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)))) |
#s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))) |
(/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)) |
| Outputs |
|---|
(+.f64 x #s(approx (* y (/ (- z t) a)) (*.f64 t #s(approx (+ (neg (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) a))))) |
x |
#s(approx (* y (/ (- z t) a)) (*.f64 t #s(approx (+ (neg (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) a)))) |
(*.f64 t #s(approx (+ (neg (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) a))) |
t |
#s(approx (+ (neg (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) a)) |
(*.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) (/.f64 #s(literal 1 binary64) a)) |
(+.f64 (neg.f64 (/.f64 y a)) (/.f64 (/.f64 (*.f64 y z) t) a)) |
(/.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) a) |
(/.f64 (neg.f64 (fma.f64 y (/.f64 z t) (neg.f64 y))) (neg.f64 a)) |
(fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (/.f64 (*.f64 y z) t) a)) |
(fma.f64 (/.f64 y a) #s(literal -1 binary64) (/.f64 (/.f64 (*.f64 y z) t) a)) |
(+.f64 (/.f64 (*.f64 y z) t) (neg.f64 y)) |
(+.f64 (neg.f64 y) (/.f64 (*.f64 y z) t)) |
(-.f64 (neg.f64 y) (neg.f64 (/.f64 (*.f64 y z) t))) |
(/.f64 (fma.f64 (neg.f64 y) t (*.f64 y z)) t) |
(fma.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) t) (neg.f64 y)) |
(fma.f64 y (/.f64 z t) (neg.f64 y)) |
(fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) |
(fma.f64 y #s(literal -1 binary64) (/.f64 (*.f64 y z) t)) |
#s(literal -1 binary64) |
(neg.f64 #s(literal 1 binary64)) |
y |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) t)) |
(*.f64 y (/.f64 z t)) |
(/.f64 (*.f64 y z) t) |
(/.f64 (neg.f64 (*.f64 y z)) (neg.f64 t)) |
(*.f64 y z) |
(*.f64 z y) |
z |
a |
#s(approx (+ (* y (/ (- z t) a)) x) (/.f64 (*.f64 y z) a)) |
(*.f64 y (/.f64 z a)) |
(*.f64 (/.f64 z a) y) |
(/.f64 (*.f64 y z) a) |
(*.f64 z (/.f64 #s(literal 1 binary64) a)) |
(/.f64 z a) |
(/.f64 (neg.f64 z) (neg.f64 a)) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
(*.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a)) |
(*.f64 y (*.f64 (-.f64 z t) (/.f64 #s(literal 1 binary64) a))) |
(*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 y (-.f64 z t))) |
(*.f64 y (/.f64 (-.f64 z t) a)) |
(/.f64 (*.f64 y (-.f64 z t)) a) |
(/.f64 (*.f64 (*.f64 y (-.f64 z t)) #s(literal 1 binary64)) a) |
(/.f64 (neg.f64 (*.f64 y (-.f64 z t))) (neg.f64 a)) |
(*.f64 y (-.f64 z t)) |
(*.f64 (-.f64 z t) y) |
(+.f64 z (neg.f64 t)) |
(-.f64 z t) |
(neg.f64 (-.f64 t z)) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x #s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (/.f64 (*.f64 y z) (*.f64 a x))))) |
(*.f64 x #s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (/.f64 (*.f64 y z) (*.f64 a x)))) |
#s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (/.f64 (*.f64 y z) (*.f64 a x))) |
(*.f64 (/.f64 y a) (/.f64 z x)) |
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) (*.f64 a x))) |
(*.f64 y (/.f64 z (*.f64 a x))) |
(/.f64 (*.f64 y z) (*.f64 a x)) |
(/.f64 (/.f64 (*.f64 y z) a) x) |
(/.f64 (neg.f64 (*.f64 y z)) (neg.f64 (*.f64 a x))) |
(*.f64 a x) |
(*.f64 x a) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x #s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x)))))) |
(*.f64 x #s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))))) |
#s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x)))) |
(*.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) (*.f64 a x))) |
(*.f64 (/.f64 y a) (/.f64 (-.f64 z t) x)) |
(*.f64 y (/.f64 (-.f64 z t) (*.f64 a x))) |
(/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x)) |
(/.f64 (*.f64 y (/.f64 (-.f64 z t) a)) x) |
(/.f64 (neg.f64 (*.f64 y (-.f64 z t))) (neg.f64 (*.f64 a x))) |
Compiled 6 397 to 945 computations (85.2% saved)
18 alts after pruning (10 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 180 | 9 | 189 |
| Fresh | 5 | 1 | 6 |
| Picked | 3 | 2 | 5 |
| Done | 2 | 6 | 8 |
| Total | 190 | 18 | 208 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.1% | (fma.f64 y (/.f64 (-.f64 z t) a) x) |
| 64.7% | (fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) | |
| ✓ | 93.3% | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| ✓ | 66.7% | (+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
| 59.3% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (*.f64 y z) (*.f64 a t)))))) | |
| 84.5% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 #s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 y (-.f64 (/.f64 z t) #s(literal 1 binary64)))) a))))) | |
| 70.3% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 #s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 #s(literal -1 binary64) y)) a))))) | |
| 84.5% | (+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) (/.f64 #s(literal 1 binary64) a)))))) | |
| ✓ | 58.5% | #s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 58.4% | #s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 y (-.f64 z t)))) | |
| 57.4% | #s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) | |
| 49.1% | #s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x #s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x)))))) | |
| ✓ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
| ✓ | 31.7% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
| ✓ | 29.5% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
| 24.8% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 (/.f64 y a) (/.f64 z x))))) | |
| 27.8% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (/.f64 z (*.f64 a x)))))) | |
| ✓ | 38.0% | #s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
Compiled 424 to 300 computations (29.2% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
| Outputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
| Outputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
| Outputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
| Outputs |
|---|
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
| Outputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
| Outputs |
|---|
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
| Outputs |
|---|
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
| Outputs |
|---|
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
| Inputs |
|---|
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 y (/.f64 z a))) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y z) a)) |
(fma.f64 y #s(approx (/ (- z t) a) (/.f64 z a)) x) |
#s(approx (+ x (/ (* y (- z t)) a)) (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 y (/.f64 (-.f64 z t) a))) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (/.f64 (*.f64 y (-.f64 z t)) a)) |
(+.f64 x (/.f64 #s(approx (* y (- z t)) (*.f64 y z)) a)) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) a))) |
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
#s(approx (+ (* (* y (- z t)) (/ 1 a)) x) (*.f64 (/.f64 #s(literal 1 binary64) a) (*.f64 y (-.f64 z t)))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 #s(literal -1 binary64) (/.f64 y a)))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 #s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 #s(literal -1 binary64) y)) a))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 y (/.f64 z (*.f64 a x)))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y z) (*.f64 a x))))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (*.f64 (/.f64 y a) (/.f64 z x))))) |
(fma.f64 (*.f64 y (-.f64 z t)) (/.f64 #s(literal 1 binary64) a) x) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y #s(approx (/ (- z t) (* a x)) (/.f64 z (*.f64 a x))) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x #s(approx (+ 1 (/ (* y (- z t)) (* a x))) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x #s(approx (+ 1 (* (/ y a) (/ (- z t) x))) (*.f64 y (/.f64 (-.f64 z t) (*.f64 a x)))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 y (/.f64 (-.f64 z t) (*.f64 a x)) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (fma.f64 (/.f64 y a) (/.f64 (-.f64 z t) x) #s(literal 1 binary64)))) |
#s(approx (+ (* y (/ (- z t) a)) x) (*.f64 x (fma.f64 (/.f64 y a) (/.f64 (-.f64 z t) x) #s(literal 1 binary64)))) |
#s(approx (+ x (/ (* y (- z t)) a)) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 z t)) (*.f64 a x))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 #s(approx (+ (* -1 y) (/ (* y z) t)) (*.f64 y (-.f64 (/.f64 z t) #s(literal 1 binary64)))) a))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) t)) a))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z #s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))) a))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t #s(approx (+ (* -1 (/ y a)) (/ (* y z) (* a t))) (*.f64 (fma.f64 y (/.f64 z t) (neg.f64 y)) (/.f64 #s(literal 1 binary64) a)))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (+.f64 (/.f64 (*.f64 y z) (*.f64 a t)) (neg.f64 (/.f64 y a)))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 y a) (/.f64 (*.f64 y z) (*.f64 a t)))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z #s(approx (+ (* -1 (/ (* t y) (* a z))) (/ y a)) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 a z)) (/.f64 #s(literal 1 binary64) a))))))) |
(+.f64 x #s(approx (/ (* y (- z t)) a) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) (*.f64 a z)) (/.f64 y a))))) |
#s(approx (+ x (/ (* y (- z t)) a)) #s(approx (* x (+ 1 (/ (* y (- z t)) (* a x)))) (*.f64 y (fma.f64 x (-.f64 (/.f64 z (*.f64 a x)) (/.f64 t (*.f64 a x))) (/.f64 x y))))) |
| Outputs |
|---|
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
(fma.f64 y (/.f64 (-.f64 z t) a) x) |
57 calls:
| 40.0ms | y |
| 28.0ms | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 22.0ms | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 18.0ms | z |
| 18.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 38.0% | 1 | t |
| 38.0% | 1 | y |
| 38.0% | 1 | (-.f64 z t) |
| 38.0% | 1 | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 38.0% | 1 | a |
| 38.0% | 1 | x |
| 38.0% | 1 | z |
| 38.0% | 1 | (*.f64 y (-.f64 z t)) |
| 38.0% | 1 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 52.8% | 3 | z |
| 54.6% | 3 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 42.2% | 3 | t |
| 52.3% | 3 | x |
| 53.6% | 3 | (*.f64 y (-.f64 z t)) |
| 47.8% | 3 | y |
| 56.3% | 3 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 51.0% | 3 | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 54.7% | 3 | z |
| 49.0% | 3 | (-.f64 z t) |
| 51.4% | 3 | a |
| 64.7% | 1 | (-.f64 z t) |
| 64.7% | 1 | z |
| 64.7% | 1 | t |
| 64.7% | 1 | x |
| 64.7% | 1 | y |
| 64.7% | 1 | (*.f64 y (-.f64 z t)) |
| 64.7% | 1 | a |
| 64.7% | 1 | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 64.7% | 1 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 84.9% | 3 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 89.1% | 5 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 83.0% | 3 | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 81.2% | 3 | y |
| 76.0% | 3 | t |
| 82.4% | 3 | (*.f64 y (-.f64 z t)) |
| 89.7% | 5 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 76.5% | 3 | x |
| 74.7% | 4 | (-.f64 z t) |
| 82.6% | 3 | a |
| 73.2% | 3 | z |
| 93.1% | 1 | x |
| 93.1% | 1 | t |
| 94.9% | 2 | z |
| 93.1% | 1 | y |
| 96.4% | 3 | a |
| 93.1% | 1 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 93.1% | 1 | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 93.1% | 1 | (*.f64 y (-.f64 z t)) |
| 93.3% | 1 | (-.f64 z t) |
| 99.2% | 3 | (*.f64 y (-.f64 z t)) |
| 99.2% | 3 | (/.f64 (*.f64 y (-.f64 z t)) a) |
| 99.2% | 3 | (+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a)) |
| 95.5% | 2 | x |
| 98.7% | 3 | y |
| 95.7% | 2 | z |
| 95.5% | 2 | t |
| 99.0% | 3 | a |
Compiled 1 081 to 543 computations (49.8% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 4.58796223826975e+281 | 3.315467218909574e+283 |
| 0.0ms | -8.955167705671813e+304 | -3.7741385588022006e+304 |
Compiled 12 to 17 computations (-41.7% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 4.8410962540826716e+169 | 4.2189893200367134e+170 |
| 16.0ms | 96× | 0 | valid |
Compiled 138 to 143 computations (-3.6% saved)
ival-mult!: 12.0ms (88.4% of total)ival-div!: 1.0ms (7.4% of total)ival-sub!: 0.0ms (0% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6751205529772027e+302 | +inf |
| 0.0ms | 2.3303077643083293e+113 | 1.965939631432531e+136 |
| 0.0ms | -2.1507610527325924e+96 | -1.9284180391559694e+65 |
| 0.0ms | -inf | -7.600064449384264e+300 |
Compiled 12 to 17 computations (-41.7% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6751205529772027e+302 | +inf |
| 0.0ms | 2.3303077643083293e+113 | 1.965939631432531e+136 |
| 0.0ms | -2.1507610527325924e+96 | -1.9284180391559694e+65 |
| 0.0ms | -inf | -7.600064449384264e+300 |
Compiled 12 to 17 computations (-41.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.3303077643083293e+113 | 1.965939631432531e+136 |
| 0.0ms | -2.1507610527325924e+96 | -1.9284180391559694e+65 |
Compiled 12 to 17 computations (-41.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.3303077643083293e+113 | 1.965939631432531e+136 |
| 0.0ms | -7710077232331222.0 | -1787029558511546.8 |
Compiled 12 to 17 computations (-41.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.3303077643083293e+113 | 1.965939631432531e+136 |
| 0.0ms | -7710077232331222.0 | -1787029558511546.8 |
Compiled 12 to 17 computations (-41.7% saved)
| 1× | fuel |
Compiled 568 to 73 computations (87.1% saved)
Compiled 577 to 82 computations (85.8% saved)
Loading profile data...