
Time bar (total: 3.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 11 to 10 computations (9.1% saved)
| 445.0ms | 8 256× | 0 | valid |
ival-mult!: 153.0ms (73% of total)ival-add!: 28.0ms (13.4% of total)ival-sub!: 27.0ms (12.9% of total)adjust: 1.0ms (0.5% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 97 |
| 1 | 128 | 90 |
| 2 | 408 | 90 |
| 3 | 970 | 90 |
| 4 | 2438 | 90 |
| 5 | 2892 | 90 |
| 6 | 2957 | 90 |
| 7 | 3055 | 90 |
| 8 | 3369 | 90 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.8% | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
Compiled 16 to 16 computations (0% saved)
| Inputs |
|---|
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
x |
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) |
(*.f64 (-.f64 y x) #s(literal 6 binary64)) |
(-.f64 y x) |
y |
#s(literal 6 binary64) |
z |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (+ (* -6 (* x z)) (* 6 (* y z))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* 6 y))) |
#s(approx (* (- y x) 6) #s(hole binary64 (+ (* -6 x) (* 6 y)))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* x (+ (* -6 z) (* 6 (/ (* y z) x)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -6 x))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* x (- (* 6 (/ y x)) 6)))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* x (+ (* -6 (/ (* y z) x)) (* 6 z)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* x (+ 6 (* -6 (/ y x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (* 6 z))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* y (+ 6 (* -6 (/ x y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* 6 (/ (* x z) y))))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* y (- (* 6 (/ x y)) 6))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | ((+ x (* (* (- y x) 6) z)) x (* (* (- y x) 6) z) (* (- y x) 6) (- y x) y 6 z) |
| 1.0ms | x | @ | -inf | ((+ x (* (* (- y x) 6) z)) x (* (* (- y x) 6) z) (* (- y x) 6) (- y x) y 6 z) |
| 1.0ms | x | @ | inf | ((+ x (* (* (- y x) 6) z)) x (* (* (- y x) 6) z) (* (- y x) 6) (- y x) y 6 z) |
| 1.0ms | y | @ | -inf | ((+ x (* (* (- y x) 6) z)) x (* (* (- y x) 6) z) (* (- y x) 6) (- y x) y 6 z) |
| 1.0ms | z | @ | inf | ((+ x (* (* (- y x) 6) z)) x (* (* (- y x) 6) z) (* (- y x) 6) (- y x) y 6 z) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 141 | 631 |
| 0 | 147 | 604 |
| 1 | 810 | 573 |
| 2 | 7053 | 573 |
| 0 | 8182 | 541 |
| 1 | 26796 | 541 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
x |
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) |
(*.f64 (-.f64 y x) #s(literal 6 binary64)) |
(-.f64 y x) |
y |
#s(literal 6 binary64) |
z |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (+ (* -6 (* x z)) (* 6 (* y z))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* 6 y))) |
#s(approx (* (- y x) 6) #s(hole binary64 (+ (* -6 x) (* 6 y)))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* x (+ (* -6 z) (* 6 (/ (* y z) x)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -6 x))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* x (- (* 6 (/ y x)) 6)))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* x (+ (* -6 (/ (* y z) x)) (* 6 z)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* x (+ 6 (* -6 (/ y x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (* 6 z))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* y (+ 6 (* -6 (/ x y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* 6 (/ (* x z) y))))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* y (- (* 6 (/ x y)) 6))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
| Outputs |
|---|
(neg.f64 (-.f64 (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x)) z) x)) |
(fma.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64) x) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) (-.f64 y x) x) |
(fma.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z x) |
(fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 z (*.f64 (-.f64 y x) #s(literal 6 binary64)) x) |
(fma.f64 #s(literal 6 binary64) (*.f64 (-.f64 y x) z) x) |
(-.f64 (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) (neg.f64 x)) |
(-.f64 x (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x)) z)) |
(+.f64 (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) x) |
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
x |
(*.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64)) |
(*.f64 (*.f64 z #s(literal 6 binary64)) (-.f64 y x)) |
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) |
(*.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64))) |
(*.f64 z (*.f64 (-.f64 y x) #s(literal 6 binary64))) |
(*.f64 #s(literal 6 binary64) (*.f64 (-.f64 y x) z)) |
(neg.f64 (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x)) z)) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) y (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) y (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 #s(literal 6 binary64) y) z (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 (*.f64 #s(literal 6 binary64) y) z (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 (*.f64 z y) #s(literal 6 binary64) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 (*.f64 z y) #s(literal 6 binary64) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 z (*.f64 #s(literal 6 binary64) y) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 z (*.f64 #s(literal 6 binary64) y) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 #s(literal 6 binary64) (*.f64 z y) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 #s(literal 6 binary64) (*.f64 z y) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 y (*.f64 z #s(literal 6 binary64)) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 y (*.f64 z #s(literal 6 binary64)) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(+.f64 (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(+.f64 (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64))) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(+.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(+.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(*.f64 (-.f64 y x) #s(literal 6 binary64)) |
(*.f64 #s(literal 6 binary64) (-.f64 y x)) |
(neg.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x))) |
(fma.f64 (neg.f64 x) #s(literal 6 binary64) (*.f64 #s(literal 6 binary64) y)) |
(fma.f64 #s(literal 6 binary64) (neg.f64 x) (*.f64 #s(literal 6 binary64) y)) |
(fma.f64 #s(literal 6 binary64) y (*.f64 (neg.f64 x) #s(literal 6 binary64))) |
(fma.f64 #s(literal 6 binary64) y (*.f64 #s(literal 6 binary64) (neg.f64 x))) |
(fma.f64 y #s(literal 6 binary64) (*.f64 (neg.f64 x) #s(literal 6 binary64))) |
(fma.f64 y #s(literal 6 binary64) (*.f64 #s(literal 6 binary64) (neg.f64 x))) |
(+.f64 (*.f64 (neg.f64 x) #s(literal 6 binary64)) (*.f64 #s(literal 6 binary64) y)) |
(+.f64 (*.f64 #s(literal 6 binary64) (neg.f64 x)) (*.f64 #s(literal 6 binary64) y)) |
(+.f64 (*.f64 #s(literal 6 binary64) y) (*.f64 (neg.f64 x) #s(literal 6 binary64))) |
(+.f64 (*.f64 #s(literal 6 binary64) y) (*.f64 #s(literal 6 binary64) (neg.f64 x))) |
(neg.f64 (-.f64 x y)) |
(fma.f64 #s(literal -1 binary64) x y) |
(fma.f64 x #s(literal -1 binary64) y) |
(-.f64 (neg.f64 x) (neg.f64 y)) |
(-.f64 y x) |
(+.f64 (neg.f64 x) y) |
(+.f64 y (neg.f64 x)) |
y |
#s(literal 6 binary64) |
z |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 z (*.f64 #s(literal -6 binary64) (-.f64 x y)) x)) |
#s(approx x x) |
#s(approx (* (* (- y x) 6) z) (*.f64 z (*.f64 #s(literal -6 binary64) (-.f64 x y)))) |
#s(approx (* (- y x) 6) (*.f64 #s(literal 6 binary64) y)) |
#s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) (-.f64 x y))) |
#s(approx (- y x) y) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x))) x)) |
#s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 y x) #s(literal 6 binary64) #s(literal -6 binary64)) x)) |
#s(approx (- y x) (neg.f64 x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x))) x)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 y x) #s(literal 6 binary64) #s(literal -6 binary64)) x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 z (*.f64 #s(literal -6 binary64) (-.f64 x y)) x)) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 z #s(literal 6 binary64) (/.f64 (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) y)) y)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 (/.f64 (*.f64 z x) y) z)) y)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 x y) #s(literal -6 binary64) #s(literal 6 binary64)) y)) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (neg.f64 y) (fma.f64 #s(literal -6 binary64) z (/.f64 (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x) y)))) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 (/.f64 (*.f64 z x) y) z)) y)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 x y) #s(literal -6 binary64) #s(literal 6 binary64)) y)) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z x)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
#s(approx z z) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 (-.f64 y x) #s(literal 6 binary64) (/.f64 x z)) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 (-.f64 y x) #s(literal 6 binary64) (/.f64 x z)) z)) |
Compiled 465 to 248 computations (46.7% saved)
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 70 | 7 | 77 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 71 | 7 | 78 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.8% | (fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
| 99.8% | (fma.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64) x) | |
| 78.4% | (+.f64 x (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z)) | |
| ▶ | 58.0% | (+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
| ▶ | 58.0% | (+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
| ▶ | 58.0% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
| ▶ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
Compiled 142 to 142 computations (0% saved)
| Inputs |
|---|
(fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
(-.f64 y x) |
y |
x |
(*.f64 z #s(literal 6 binary64)) |
z |
#s(literal 6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(*.f64 (*.f64 z y) #s(literal 6 binary64)) |
(*.f64 z y) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
(*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) |
(fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) |
#s(literal -6 binary64) |
#s(literal 1 binary64) |
(+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 (*.f64 z x) #s(literal -6 binary64)) |
(*.f64 z x) |
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
(*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z) |
#s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) |
(*.f64 #s(literal -6 binary64) x) |
| Outputs |
|---|
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (+ (* -6 (* x z)) (* 6 (* y z))))) |
#s(approx (* (* z x) -6) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* z x) #s(hole binary64 (* x z))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* 6 y))) |
#s(approx (* (- y x) 6) #s(hole binary64 (+ (* -6 x) (* 6 y)))) |
#s(approx (* -6 x) #s(hole binary64 (* -6 x))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* x (+ (* -6 z) (* 6 (/ (* y z) x)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* x (- (* 6 (/ y x)) 6)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* x (+ (* -6 (/ (* y z) x)) (* 6 z)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* x (+ 6 (* -6 (/ y x))))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (* z y) #s(hole binary64 (* y z))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (* 6 z))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* y (+ 6 (* -6 (/ x y)))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* 6 (/ (* x z) y))))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* y (- (* 6 (/ x y)) 6))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx (* z 6) #s(hole binary64 (* 6 z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 1)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (+ 1 (* -6 z)))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* z (+ (* -6 x) (/ x z))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* -6 z))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* z (- (/ 1 z) 6)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ x z)) (* 6 x)))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* -1 (* z (- 6 (/ 1 z)))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 25.0ms | y | @ | inf | ((+ (* (- y x) (* z 6)) x) (- y x) y x (* z 6) z 6 (+ x (* (* (- y x) 6) z)) (* (* z y) 6) (* z y) (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) -6 1 (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (* z x) -6) (* z x) (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (- y x) 6) (* -6 x)) |
| 3.0ms | x | @ | 0 | ((+ (* (- y x) (* z 6)) x) (- y x) y x (* z 6) z 6 (+ x (* (* (- y x) 6) z)) (* (* z y) 6) (* z y) (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) -6 1 (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (* z x) -6) (* z x) (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (- y x) 6) (* -6 x)) |
| 2.0ms | z | @ | -inf | ((+ (* (- y x) (* z 6)) x) (- y x) y x (* z 6) z 6 (+ x (* (* (- y x) 6) z)) (* (* z y) 6) (* z y) (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) -6 1 (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (* z x) -6) (* z x) (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (- y x) 6) (* -6 x)) |
| 2.0ms | z | @ | inf | ((+ (* (- y x) (* z 6)) x) (- y x) y x (* z 6) z 6 (+ x (* (* (- y x) 6) z)) (* (* z y) 6) (* z y) (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) -6 1 (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (* z x) -6) (* z x) (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (- y x) 6) (* -6 x)) |
| 2.0ms | x | @ | -inf | ((+ (* (- y x) (* z 6)) x) (- y x) y x (* z 6) z 6 (+ x (* (* (- y x) 6) z)) (* (* z y) 6) (* z y) (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) -6 1 (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (* z x) -6) (* z x) (+ x (* (* (- y x) 6) z)) (* (* (- y x) 6) z) (* (- y x) 6) (* -6 x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 184 | 832 |
| 0 | 196 | 796 |
| 1 | 1009 | 757 |
| 0 | 8177 | 744 |
| 1 | 28104 | 744 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
(-.f64 y x) |
y |
x |
(*.f64 z #s(literal 6 binary64)) |
z |
#s(literal 6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(*.f64 (*.f64 z y) #s(literal 6 binary64)) |
(*.f64 z y) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
(*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) |
(fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) |
#s(literal -6 binary64) |
#s(literal 1 binary64) |
(+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 (*.f64 z x) #s(literal -6 binary64)) |
(*.f64 z x) |
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
(*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z) |
#s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) |
(*.f64 #s(literal -6 binary64) x) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (+ (* -6 (* x z)) (* 6 (* y z))))) |
#s(approx (* (* z x) -6) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* z x) #s(hole binary64 (* x z))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* 6 y))) |
#s(approx (* (- y x) 6) #s(hole binary64 (+ (* -6 x) (* 6 y)))) |
#s(approx (* -6 x) #s(hole binary64 (* -6 x))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* x (+ (* -6 z) (* 6 (/ (* y z) x)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* x (- (* 6 (/ y x)) 6)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* x (+ (* -6 (/ (* y z) x)) (* 6 z)))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* x (+ 6 (* -6 (/ y x))))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (* z y) #s(hole binary64 (* y z))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (* 6 z))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* y (+ 6 (* -6 (/ x y)))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* 6 (/ (* x z) y))))))) |
#s(approx (* (- y x) 6) #s(hole binary64 (* -1 (* y (- (* 6 (/ x y)) 6))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx (* z 6) #s(hole binary64 (* 6 z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 1)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (+ 1 (* -6 z)))) |
#s(approx (* (* (- y x) 6) z) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* z (+ (* -6 x) (/ x z))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* -6 z))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* z (- (/ 1 z) 6)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ x z)) (* 6 x)))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* -1 (* z (- 6 (/ 1 z)))))) |
| Outputs |
|---|
(neg.f64 (-.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z))) |
(neg.f64 (-.f64 (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x)) z) x)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64))) x (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) #s(literal -1 binary64) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64) x) |
(fma.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) (neg.f64 x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 #s(literal 6 binary64) z) (-.f64 y x) x) |
(fma.f64 (*.f64 #s(literal 6 binary64) z) y (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(fma.f64 (*.f64 #s(literal -6 binary64) x) z (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(fma.f64 (*.f64 #s(literal -6 binary64) x) z (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(fma.f64 (*.f64 #s(literal 6 binary64) y) z (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(fma.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (neg.f64 x) (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 #s(literal -6 binary64) z) x (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(fma.f64 (*.f64 #s(literal -6 binary64) z) x (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(fma.f64 (*.f64 z y) #s(literal 6 binary64) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(fma.f64 #s(literal -6 binary64) (-.f64 (*.f64 z x) (*.f64 z y)) x) |
(fma.f64 #s(literal -6 binary64) (*.f64 z x) (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(fma.f64 #s(literal -6 binary64) (*.f64 z x) (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(fma.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z x) |
(fma.f64 (-.f64 y x) (*.f64 #s(literal 6 binary64) z) x) |
(fma.f64 #s(literal 6 binary64) (*.f64 (-.f64 y x) z) x) |
(fma.f64 #s(literal 6 binary64) (*.f64 z y) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(fma.f64 z (*.f64 #s(literal -6 binary64) x) (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(fma.f64 z (*.f64 #s(literal -6 binary64) x) (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(fma.f64 z (*.f64 #s(literal 6 binary64) y) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(fma.f64 z (*.f64 (-.f64 y x) #s(literal 6 binary64)) x) |
(fma.f64 x (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 x (*.f64 #s(literal -1 binary64) (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64))) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 x (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 x (*.f64 #s(literal -6 binary64) z) (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(fma.f64 x (*.f64 #s(literal -6 binary64) z) (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(fma.f64 y (*.f64 #s(literal 6 binary64) z) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(-.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -6 binary64) z) y) x)) |
(-.f64 (fma.f64 (*.f64 #s(literal -6 binary64) z) x x) (*.f64 (*.f64 #s(literal -6 binary64) z) y)) |
(-.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x)) |
(-.f64 (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) (neg.f64 x)) |
(-.f64 x (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x)) z)) |
(+.f64 (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64))) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(+.f64 (fma.f64 (*.f64 #s(literal 6 binary64) z) y x) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(+.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (+.f64 x (*.f64 (*.f64 z y) #s(literal 6 binary64)))) |
(+.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (fma.f64 (*.f64 #s(literal 6 binary64) z) y x)) |
(+.f64 (fma.f64 (*.f64 #s(literal -6 binary64) z) x x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(+.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(+.f64 (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z) x) |
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
(neg.f64 (-.f64 x y)) |
(fma.f64 #s(literal -1 binary64) x y) |
(fma.f64 x #s(literal -1 binary64) y) |
(-.f64 (neg.f64 x) (neg.f64 y)) |
(-.f64 y x) |
(+.f64 (neg.f64 x) y) |
(+.f64 y (neg.f64 x)) |
y |
x |
(*.f64 (neg.f64 z) #s(literal -6 binary64)) |
(*.f64 (*.f64 #s(literal 6 binary64) z) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 6 binary64) z)) |
(*.f64 #s(literal -6 binary64) (neg.f64 z)) |
(*.f64 #s(literal 6 binary64) (*.f64 z #s(literal 1 binary64))) |
(*.f64 #s(literal 6 binary64) z) |
(*.f64 z #s(literal 6 binary64)) |
(neg.f64 (*.f64 (*.f64 #s(literal 6 binary64) z) #s(literal -1 binary64))) |
(neg.f64 (*.f64 #s(literal -6 binary64) z)) |
z |
#s(literal 6 binary64) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(*.f64 (*.f64 #s(literal 6 binary64) z) y) |
(*.f64 (*.f64 #s(literal 6 binary64) y) z) |
(*.f64 (*.f64 z y) #s(literal 6 binary64)) |
(*.f64 #s(literal 6 binary64) (*.f64 z y)) |
(*.f64 z (*.f64 #s(literal 6 binary64) y)) |
(*.f64 y (*.f64 #s(literal 6 binary64) z)) |
(neg.f64 (*.f64 (*.f64 #s(literal -6 binary64) z) y)) |
(*.f64 z y) |
(*.f64 y z) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
(*.f64 (*.f64 #s(literal -1 binary64) (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64))) x) |
(*.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) #s(literal -1 binary64)) |
(*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) (neg.f64 x)) |
(*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) |
(*.f64 (neg.f64 x) (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64))) |
(*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x)) |
(*.f64 x (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) #s(literal -1 binary64))) |
(*.f64 x (*.f64 #s(literal -1 binary64) (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)))) |
(*.f64 x (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64))) |
(neg.f64 (*.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x))) |
(neg.f64 (*.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) #s(literal 1 binary64))) |
(neg.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x)) |
(fma.f64 (*.f64 #s(literal 6 binary64) z) (neg.f64 x) x) |
(fma.f64 (*.f64 #s(literal -6 binary64) x) z x) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) x) |
(fma.f64 (neg.f64 x) (*.f64 #s(literal 6 binary64) z) x) |
(fma.f64 (*.f64 #s(literal -6 binary64) z) x x) |
(fma.f64 #s(literal -6 binary64) (*.f64 z x) x) |
(fma.f64 z (*.f64 #s(literal -6 binary64) x) x) |
(fma.f64 x (*.f64 #s(literal -6 binary64) z) x) |
(-.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (neg.f64 x)) |
(-.f64 x (*.f64 (neg.f64 x) (*.f64 #s(literal -6 binary64) z))) |
(-.f64 x (*.f64 (*.f64 #s(literal 6 binary64) x) z)) |
(+.f64 (*.f64 (*.f64 #s(literal 6 binary64) z) (neg.f64 x)) x) |
(+.f64 (*.f64 (neg.f64 x) (*.f64 #s(literal 6 binary64) z)) x) |
(+.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) x) |
(+.f64 x (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(neg.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64))) |
(fma.f64 (*.f64 #s(literal 1 binary64) z) #s(literal -6 binary64) #s(literal 1 binary64)) |
(fma.f64 (neg.f64 z) #s(literal 6 binary64) #s(literal 1 binary64)) |
(fma.f64 (*.f64 #s(literal -6 binary64) z) #s(literal 1 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -6 binary64) z) #s(literal 1 binary64)) |
(fma.f64 #s(literal -6 binary64) (*.f64 z #s(literal 1 binary64)) #s(literal 1 binary64)) |
(fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) |
(fma.f64 #s(literal 6 binary64) (neg.f64 z) #s(literal 1 binary64)) |
(fma.f64 z #s(literal -6 binary64) #s(literal 1 binary64)) |
(-.f64 (*.f64 #s(literal -6 binary64) z) #s(literal -1 binary64)) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 6 binary64) z)) |
(+.f64 (*.f64 #s(literal -6 binary64) z) #s(literal 1 binary64)) |
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -6 binary64) z)) |
#s(literal -6 binary64) |
#s(literal 1 binary64) |
(neg.f64 (-.f64 (neg.f64 #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) x)) |
(-.f64 #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))) (neg.f64 x)) |
(-.f64 x (neg.f64 #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))))) |
(+.f64 #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))) x) |
(+.f64 x (neg.f64 (neg.f64 #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))))) |
(+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 (*.f64 #s(literal -6 binary64) x) z) |
(*.f64 (*.f64 z x) #s(literal -6 binary64)) |
(*.f64 (*.f64 #s(literal -6 binary64) z) x) |
(*.f64 #s(literal -6 binary64) (*.f64 z x)) |
(*.f64 z (*.f64 #s(literal -6 binary64) x)) |
(*.f64 x (*.f64 #s(literal -6 binary64) z)) |
(neg.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) z)) |
(*.f64 z x) |
(*.f64 x z) |
(neg.f64 (-.f64 (*.f64 (neg.f64 z) #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x))) x)) |
(fma.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z x) |
(fma.f64 z #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) x) |
(-.f64 (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z) (neg.f64 x)) |
(-.f64 x (*.f64 (neg.f64 z) #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)))) |
(+.f64 (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z) x) |
(+.f64 x (*.f64 (neg.f64 (neg.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)))) z)) |
(+.f64 x (neg.f64 (*.f64 (neg.f64 z) #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x))))) |
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
(*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z) |
(*.f64 z #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x))) |
#s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) |
(*.f64 (neg.f64 x) #s(literal 6 binary64)) |
(*.f64 #s(literal -6 binary64) x) |
(*.f64 #s(literal 6 binary64) (neg.f64 x)) |
(*.f64 x #s(literal -6 binary64)) |
(neg.f64 (*.f64 #s(literal 6 binary64) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z x)) |
#s(approx (- y x) y) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx x x) |
#s(approx (* (+ (* -6 z) 1) x) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
#s(approx (* (* z x) -6) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
#s(approx (* z x) (*.f64 z x)) |
#s(approx (* (- y x) 6) (*.f64 #s(literal 6 binary64) y)) |
#s(approx (* (- y x) 6) (*.f64 (-.f64 y x) #s(literal 6 binary64))) |
#s(approx (* -6 x) (*.f64 #s(literal -6 binary64) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (- y x) (neg.f64 x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x))) x)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 y x) #s(literal 6 binary64) #s(literal -6 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x))) x)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 y x) #s(literal 6 binary64) #s(literal -6 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 #s(literal -6 binary64) z) x x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z x)) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx (* z y) (*.f64 z y)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal 6 binary64) z (/.f64 (fma.f64 (*.f64 #s(literal -6 binary64) z) x x) y)) y)) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 (/.f64 (*.f64 z x) y) z)) y)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 x y) #s(literal -6 binary64) #s(literal 6 binary64)) y)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (neg.f64 y) (fma.f64 #s(literal -6 binary64) z (/.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) y)))) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 (/.f64 (*.f64 z x) y) z)) y)) |
#s(approx (* (- y x) 6) (*.f64 (fma.f64 (/.f64 x y) #s(literal -6 binary64) #s(literal 6 binary64)) y)) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z x)) |
#s(approx (* z 6) (*.f64 #s(literal 6 binary64) z)) |
#s(approx z z) |
#s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) |
#s(approx (+ (* -6 z) 1) (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64))) |
#s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 (-.f64 y x) #s(literal 6 binary64) (/.f64 x z)) z)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) x (/.f64 x z)) z)) |
#s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) |
#s(approx (+ (* -6 z) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 6 binary64)) z)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 (-.f64 y x) #s(literal 6 binary64) (/.f64 x z)) z)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) x (/.f64 x z)) z)) |
#s(approx (+ (* -6 z) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 6 binary64)) z)) |
Compiled 860 to 438 computations (49.1% saved)
10 alts after pruning (6 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 166 | 6 | 172 |
| Fresh | 2 | 0 | 2 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 0 | 0 |
| Total | 169 | 10 | 179 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 99.8% | (fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
| ▶ | 78.4% | (fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
| ✓ | 58.0% | (+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
| 58.0% | #s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) | |
| ✓ | 58.0% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
| ▶ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
| ▶ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
| ▶ | 24.5% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
| ▶ | 36.2% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
Compiled 198 to 198 computations (0% saved)
| Inputs |
|---|
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
#s(approx (- y x) y) |
y |
(*.f64 z #s(literal 6 binary64)) |
z |
#s(literal 6 binary64) |
x |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
(*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x) |
#s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
(*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x) |
#s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) |
(*.f64 #s(literal -6 binary64) z) |
#s(literal -6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
(*.f64 (*.f64 #s(literal 6 binary64) y) z) |
(*.f64 #s(literal 6 binary64) y) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
(*.f64 (*.f64 #s(literal 6 binary64) z) y) |
(*.f64 #s(literal 6 binary64) z) |
| Outputs |
|---|
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (* 6 y) #s(hole binary64 (* 6 y))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx (* z 6) #s(hole binary64 (* 6 z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 1)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (+ 1 (* -6 z)))) |
#s(approx (* -6 z) #s(hole binary64 (* -6 z))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* z (+ (* -6 x) (/ x z))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* z (- (/ 1 z) 6)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ x z)) (* 6 x)))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* -1 (* z (- 6 (/ 1 z)))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | ((+ (* (- y x) (* z 6)) x) (- y x) y (* z 6) z 6 x (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) 1 (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) (* -6 z) -6 (+ x (* (* (- y x) 6) z)) (* (* 6 y) z) (* 6 y) (+ x (* (* (- y x) 6) z)) (* (* 6 z) y) (* 6 z)) |
| 1.0ms | z | @ | inf | ((+ (* (- y x) (* z 6)) x) (- y x) y (* z 6) z 6 x (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) 1 (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) (* -6 z) -6 (+ x (* (* (- y x) 6) z)) (* (* 6 y) z) (* 6 y) (+ x (* (* (- y x) 6) z)) (* (* 6 z) y) (* 6 z)) |
| 1.0ms | y | @ | -inf | ((+ (* (- y x) (* z 6)) x) (- y x) y (* z 6) z 6 x (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) 1 (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) (* -6 z) -6 (+ x (* (* (- y x) 6) z)) (* (* 6 y) z) (* 6 y) (+ x (* (* (- y x) 6) z)) (* (* 6 z) y) (* 6 z)) |
| 1.0ms | y | @ | inf | ((+ (* (- y x) (* z 6)) x) (- y x) y (* z 6) z 6 x (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) 1 (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) (* -6 z) -6 (+ x (* (* (- y x) 6) z)) (* (* 6 y) z) (* 6 y) (+ x (* (* (- y x) 6) z)) (* (* 6 z) y) (* 6 z)) |
| 1.0ms | x | @ | -inf | ((+ (* (- y x) (* z 6)) x) (- y x) y (* z 6) z 6 x (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) 1 (+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (+ (* -6 z) 1) (* -6 z) -6 (+ x (* (* (- y x) 6) z)) (* (* 6 y) z) (* 6 y) (+ x (* (* (- y x) 6) z)) (* (* 6 z) y) (* 6 z)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 141 | 655 |
| 0 | 151 | 636 |
| 1 | 792 | 613 |
| 2 | 6453 | 613 |
| 0 | 8038 | 565 |
| 1 | 30885 | 565 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
#s(approx (- y x) y) |
y |
(*.f64 z #s(literal 6 binary64)) |
z |
#s(literal 6 binary64) |
x |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
(*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x) |
#s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
(*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x) |
#s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) |
(*.f64 #s(literal -6 binary64) z) |
#s(literal -6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
(*.f64 (*.f64 #s(literal 6 binary64) y) z) |
(*.f64 #s(literal 6 binary64) y) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
(*.f64 (*.f64 #s(literal 6 binary64) z) y) |
(*.f64 #s(literal 6 binary64) z) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (* 6 y) #s(hole binary64 (* 6 y))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx (* z 6) #s(hole binary64 (* 6 z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 1)) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (+ 1 (* -6 z)))) |
#s(approx (* -6 z) #s(hole binary64 (* -6 z))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* z (+ (* -6 x) (/ x z))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* z (- (/ 1 z) 6)))) |
#s(approx (+ (* (- y x) (* z 6)) x) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ x z)) (* 6 x)))))) |
#s(approx (+ (* -6 z) 1) #s(hole binary64 (* -1 (* z (- 6 (/ 1 z)))))) |
| Outputs |
|---|
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z))) |
(fma.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z x) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
(fma.f64 (*.f64 #s(literal 6 binary64) z) #s(approx (- y x) y) x) |
(fma.f64 #s(literal 6 binary64) (*.f64 z #s(approx (- y x) y)) x) |
(fma.f64 z (*.f64 #s(literal 6 binary64) #s(approx (- y x) y)) x) |
(fma.f64 #s(approx (- y x) y) (*.f64 #s(literal 6 binary64) z) x) |
(-.f64 (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z) (neg.f64 x)) |
(-.f64 x (*.f64 (neg.f64 (*.f64 z #s(approx (- y x) y))) #s(literal 6 binary64))) |
(-.f64 x (*.f64 (*.f64 #s(literal -6 binary64) z) #s(approx (- y x) y))) |
(-.f64 x (*.f64 (neg.f64 #s(approx (- y x) y)) (*.f64 #s(literal 6 binary64) z))) |
(-.f64 x (neg.f64 (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z))) |
(+.f64 (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z) x) |
(+.f64 x (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z)) |
#s(approx (- y x) y) |
y |
(*.f64 (neg.f64 z) #s(literal -6 binary64)) |
(*.f64 (*.f64 #s(literal 6 binary64) z) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 6 binary64) z)) |
(*.f64 #s(literal -6 binary64) (neg.f64 z)) |
(*.f64 #s(literal 6 binary64) (*.f64 z #s(literal 1 binary64))) |
(*.f64 #s(literal 6 binary64) z) |
(*.f64 z #s(literal 6 binary64)) |
(neg.f64 (*.f64 (*.f64 #s(literal 6 binary64) z) #s(literal -1 binary64))) |
(neg.f64 (*.f64 #s(literal -6 binary64) z)) |
z |
#s(literal 6 binary64) |
x |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
(*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x) |
(*.f64 x #s(approx (+ (* -6 z) 1) #s(literal 1 binary64))) |
#s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
(*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x) |
(*.f64 x #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z))) |
#s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) |
(*.f64 (*.f64 #s(literal 1 binary64) z) #s(literal -6 binary64)) |
(*.f64 (neg.f64 z) #s(literal 6 binary64)) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -6 binary64) z)) |
(*.f64 (*.f64 #s(literal -6 binary64) z) #s(literal 1 binary64)) |
(*.f64 #s(literal -6 binary64) (*.f64 z #s(literal 1 binary64))) |
(*.f64 #s(literal -6 binary64) z) |
(*.f64 #s(literal 6 binary64) (neg.f64 z)) |
(*.f64 z #s(literal -6 binary64)) |
(neg.f64 (*.f64 #s(literal -1 binary64) (*.f64 #s(literal -6 binary64) z))) |
(neg.f64 (*.f64 (*.f64 #s(literal -6 binary64) z) #s(literal -1 binary64))) |
(neg.f64 (*.f64 #s(literal 6 binary64) z)) |
#s(literal -6 binary64) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(*.f64 (*.f64 #s(literal 6 binary64) y) z) |
(*.f64 (*.f64 #s(literal 6 binary64) z) y) |
(*.f64 (*.f64 z y) #s(literal 6 binary64)) |
(*.f64 #s(literal 6 binary64) (*.f64 z y)) |
(*.f64 z (*.f64 #s(literal 6 binary64) y)) |
(*.f64 y (*.f64 #s(literal 6 binary64) z)) |
(neg.f64 (*.f64 (*.f64 z y) #s(literal -6 binary64))) |
(*.f64 #s(literal 6 binary64) y) |
(*.f64 y #s(literal 6 binary64)) |
(neg.f64 (*.f64 #s(literal -6 binary64) y)) |
(neg.f64 (*.f64 y #s(literal -6 binary64))) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(*.f64 (*.f64 #s(literal 6 binary64) y) z) |
(*.f64 (*.f64 #s(literal 6 binary64) z) y) |
(*.f64 (*.f64 z y) #s(literal 6 binary64)) |
(*.f64 #s(literal 6 binary64) (*.f64 z y)) |
(*.f64 z (*.f64 #s(literal 6 binary64) y)) |
(*.f64 y (*.f64 #s(literal 6 binary64) z)) |
(neg.f64 (*.f64 (*.f64 z y) #s(literal -6 binary64))) |
(*.f64 (neg.f64 z) #s(literal -6 binary64)) |
(*.f64 (*.f64 #s(literal 6 binary64) z) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 6 binary64) z)) |
(*.f64 #s(literal -6 binary64) (neg.f64 z)) |
(*.f64 #s(literal 6 binary64) (*.f64 z #s(literal 1 binary64))) |
(*.f64 #s(literal 6 binary64) z) |
(*.f64 z #s(literal 6 binary64)) |
(neg.f64 (*.f64 (*.f64 #s(literal 6 binary64) z) #s(literal -1 binary64))) |
(neg.f64 (*.f64 #s(literal -6 binary64) z)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z x)) |
#s(approx (- y x) y) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx x x) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (- y x) (neg.f64 x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z x)) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx (* 6 y) (*.f64 #s(literal 6 binary64) y)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal 6 binary64) z (/.f64 (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) y)) y)) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (neg.f64 y) (fma.f64 #s(literal -6 binary64) z (/.f64 (*.f64 (fma.f64 #s(literal 6 binary64) z #s(literal -1 binary64)) x) y)))) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (+ (* (- y x) (* z 6)) x) (fma.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z x)) |
#s(approx (* z 6) (*.f64 #s(literal 6 binary64) z)) |
#s(approx z z) |
#s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) |
#s(approx (+ (* -6 z) 1) (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64))) |
#s(approx (* -6 z) (*.f64 #s(literal -6 binary64) z)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal 6 binary64) (-.f64 y x) (/.f64 x z)) z)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) x (/.f64 x z)) z)) |
#s(approx (+ (* -6 z) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 6 binary64)) z)) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (fma.f64 #s(literal 6 binary64) (-.f64 y x) (/.f64 x z)) z)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) x (/.f64 x z)) z)) |
#s(approx (+ (* -6 z) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 6 binary64)) z)) |
Compiled 392 to 235 computations (40.1% saved)
10 alts after pruning (4 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 67 | 3 | 70 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 4 | 5 |
| Done | 2 | 2 | 4 |
| Total | 70 | 10 | 80 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 78.4% | (fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
| ▶ | 66.2% | #s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
| ▶ | 58.0% | #s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
| ✓ | 58.0% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
| ✓ | 24.5% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
| ✓ | 36.2% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
| ▶ | 24.4% | #s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
Compiled 133 to 133 computations (0% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 (*.f64 z x) #s(literal -6 binary64)) |
(*.f64 z x) |
z |
x |
#s(literal -6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) x) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64)) |
(*.f64 z (-.f64 y x)) |
(-.f64 y x) |
y |
#s(literal 6 binary64) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
(*.f64 z #s(approx (- y x) y)) |
#s(approx (- y x) y) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (* (* z x) -6) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* z x) #s(hole binary64 (* x z))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (+ (* -6 (* x z)) (* 6 (* y z))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* y z))) |
#s(approx (* z (- y x)) #s(hole binary64 (+ (* -1 (* x z)) (* y z)))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* x (+ (* -6 z) (* 6 (/ (* y z) x)))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* -1 (* x z)))) |
#s(approx (* z (- y x)) #s(hole binary64 (* x (+ (* -1 z) (/ (* y z) x))))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* -1 (* x (+ (* -6 (/ (* y z) x)) (* 6 z)))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* -1 (* x (+ z (* -1 (/ (* y z) x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (* 6 z))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* y (+ z (* -1 (/ (* x z) y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* 6 (/ (* x z) y))))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* -1 (* y (+ (* -1 z) (/ (* x z) y)))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* z (- y x)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* z (+ (* -6 x) (/ x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ x z)) (* 6 x)))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | -inf | ((+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (* (* z x) -6) (* z x) z x -6 (+ x (* (* (- y x) 6) z)) (+ (* (* z x) -6) x) (+ (* (- y x) (* z 6)) x) (* (* z (- y x)) 6) (* z (- y x)) (- y x) y 6 (+ (* (* z (- y x)) 6) x) (* z (- y x)) (- y x)) |
| 2.0ms | z | @ | -inf | ((+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (* (* z x) -6) (* z x) z x -6 (+ x (* (* (- y x) 6) z)) (+ (* (* z x) -6) x) (+ (* (- y x) (* z 6)) x) (* (* z (- y x)) 6) (* z (- y x)) (- y x) y 6 (+ (* (* z (- y x)) 6) x) (* z (- y x)) (- y x)) |
| 1.0ms | x | @ | inf | ((+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (* (* z x) -6) (* z x) z x -6 (+ x (* (* (- y x) 6) z)) (+ (* (* z x) -6) x) (+ (* (- y x) (* z 6)) x) (* (* z (- y x)) 6) (* z (- y x)) (- y x) y 6 (+ (* (* z (- y x)) 6) x) (* z (- y x)) (- y x)) |
| 1.0ms | z | @ | inf | ((+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (* (* z x) -6) (* z x) z x -6 (+ x (* (* (- y x) 6) z)) (+ (* (* z x) -6) x) (+ (* (- y x) (* z 6)) x) (* (* z (- y x)) 6) (* z (- y x)) (- y x) y 6 (+ (* (* z (- y x)) 6) x) (* z (- y x)) (- y x)) |
| 1.0ms | x | @ | 0 | ((+ x (* (* (- y x) 6) z)) (* (+ (* -6 z) 1) x) (* (* z x) -6) (* z x) z x -6 (+ x (* (* (- y x) 6) z)) (+ (* (* z x) -6) x) (+ (* (- y x) (* z 6)) x) (* (* z (- y x)) 6) (* z (- y x)) (- y x) y 6 (+ (* (* z (- y x)) 6) x) (* z (- y x)) (- y x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 166 | 792 |
| 0 | 178 | 763 |
| 1 | 977 | 709 |
| 0 | 8112 | 683 |
| 1 | 28156 | 683 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 (*.f64 z x) #s(literal -6 binary64)) |
(*.f64 z x) |
z |
x |
#s(literal -6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) x) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64)) |
(*.f64 z (-.f64 y x)) |
(-.f64 y x) |
y |
#s(literal 6 binary64) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
(*.f64 z #s(approx (- y x) y)) |
#s(approx (- y x) y) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* 6 (* y z)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ (* 6 (* y z)) (* x (+ 1 (* -6 z)))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* x (+ 1 (* -6 z))))) |
#s(approx (* (* z x) -6) #s(hole binary64 (* -6 (* x z)))) |
#s(approx (* z x) #s(hole binary64 (* x z))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (+ (* -6 (* x z)) (* 6 (* y z))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* y z))) |
#s(approx (* z (- y x)) #s(hole binary64 (+ (* -1 (* x z)) (* y z)))) |
#s(approx (- y x) #s(hole binary64 y)) |
#s(approx (- y x) #s(hole binary64 (+ y (* -1 x)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* x (+ 1 (+ (* -6 z) (* 6 (/ (* y z) x))))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* x (+ (* -6 z) (* 6 (/ (* y z) x)))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* -1 (* x z)))) |
#s(approx (* z (- y x)) #s(hole binary64 (* x (+ (* -1 z) (/ (* y z) x))))) |
#s(approx (- y x) #s(hole binary64 (* -1 x))) |
#s(approx (- y x) #s(hole binary64 (* x (- (/ y x) 1)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (* 6 z) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* x (- (+ (* -6 (/ (* y z) x)) (* 6 z)) 1))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* -1 (* x (+ (* -6 (/ (* y z) x)) (* 6 z)))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* -1 (* x (+ z (* -1 (/ (* y z) x))))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* x (+ 1 (* -1 (/ y x))))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* -6 (* x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (+ (* -6 (* x z)) (* 6 (* y z)))))) |
#s(approx (- y x) #s(hole binary64 (- y x))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (+ (* 6 z) (/ x y)))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* y (+ (* -6 (/ (* x z) y)) (* 6 z))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* y (+ z (* -1 (/ (* x z) y)))))) |
#s(approx (- y x) #s(hole binary64 (* y (+ 1 (* -1 (/ x y)))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* -1 (/ (+ x (* -6 (* x z))) y))))))) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* -1 (* y (+ (* -6 z) (* 6 (/ (* x z) y))))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* -1 (* y (+ (* -1 z) (/ (* x z) y)))))) |
#s(approx (- y x) #s(hole binary64 (* -1 (* y (- (/ x y) 1))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (+ x (* 6 (* z (- y x)))))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (* (* z (- y x)) 6) #s(hole binary64 (* 6 (* z (- y x))))) |
#s(approx (* z (- y x)) #s(hole binary64 (* z (- y x)))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* z (+ (* 6 (- y x)) (/ x z))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* z (+ (* -6 x) (/ x z))))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(hole binary64 (* -1 (* z (+ (* -6 (- y x)) (* -1 (/ x z))))))) |
#s(approx (* (+ (* -6 z) 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ x z)) (* 6 x)))))) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 (*.f64 #s(literal -6 binary64) x) z) |
(*.f64 (*.f64 z x) #s(literal -6 binary64)) |
(*.f64 (*.f64 #s(literal -6 binary64) z) x) |
(*.f64 #s(literal -6 binary64) (*.f64 z x)) |
(*.f64 z (*.f64 #s(literal -6 binary64) x)) |
(*.f64 x (*.f64 #s(literal -6 binary64) z)) |
(neg.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) z)) |
(*.f64 z x) |
(*.f64 x z) |
z |
x |
#s(literal -6 binary64) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
(*.f64 (*.f64 #s(literal -1 binary64) (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64))) x) |
(*.f64 (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x) #s(literal -1 binary64)) |
(*.f64 (neg.f64 x) (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64))) |
(*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) (neg.f64 x)) |
(*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x)) |
(*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) |
(*.f64 x (*.f64 #s(literal -1 binary64) (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)))) |
(*.f64 x (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64))) |
(*.f64 x (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64))) |
(neg.f64 (*.f64 #s(literal 1 binary64) (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x))) |
(neg.f64 (*.f64 (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x) #s(literal 1 binary64))) |
(neg.f64 (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x)) |
(fma.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 (*.f64 #s(literal -6 binary64) x) z x) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x) x) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) x) |
(fma.f64 (*.f64 #s(literal -6 binary64) z) x x) |
(fma.f64 #s(literal -6 binary64) (*.f64 z x) x) |
(fma.f64 z (*.f64 #s(literal -6 binary64) x) x) |
(fma.f64 x (*.f64 #s(literal -6 binary64) z) x) |
(-.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (neg.f64 x)) |
(-.f64 x (*.f64 (neg.f64 x) (*.f64 #s(literal -6 binary64) z))) |
(-.f64 x (*.f64 (*.f64 #s(literal 6 binary64) x) z)) |
(+.f64 (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x)) x) |
(+.f64 (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64))) x) |
(+.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) x) |
(+.f64 x (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(*.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z) |
(*.f64 (*.f64 z #s(literal 6 binary64)) (-.f64 y x)) |
(*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64)) |
(*.f64 #s(literal -6 binary64) (-.f64 (*.f64 z x) (*.f64 z y))) |
(*.f64 z (*.f64 #s(literal 6 binary64) (-.f64 y x))) |
(*.f64 #s(literal 6 binary64) (*.f64 z (-.f64 y x))) |
(*.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64))) |
(neg.f64 (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 y x)) z)) |
(fma.f64 (*.f64 #s(literal 6 binary64) y) z (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 (*.f64 #s(literal 6 binary64) y) z (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 (*.f64 #s(literal 6 binary64) y) z (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(fma.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 #s(literal -6 binary64) x) z (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) y (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) y (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) y (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(fma.f64 (*.f64 z x) #s(literal -6 binary64) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 (*.f64 z y) #s(literal 6 binary64) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 (*.f64 z y) #s(literal 6 binary64) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 (*.f64 z y) #s(literal 6 binary64) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(fma.f64 (*.f64 #s(literal -6 binary64) z) x (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 #s(literal -6 binary64) (*.f64 z x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 z (*.f64 #s(literal 6 binary64) y) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 z (*.f64 #s(literal 6 binary64) y) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 z (*.f64 #s(literal 6 binary64) y) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(fma.f64 z (*.f64 #s(literal -6 binary64) x) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(fma.f64 #s(literal 6 binary64) (*.f64 z y) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 #s(literal 6 binary64) (*.f64 z y) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 #s(literal 6 binary64) (*.f64 z y) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(fma.f64 y (*.f64 z #s(literal 6 binary64)) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(fma.f64 y (*.f64 z #s(literal 6 binary64)) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(fma.f64 y (*.f64 z #s(literal 6 binary64)) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(fma.f64 x (*.f64 #s(literal -6 binary64) z) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(-.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (*.f64 (*.f64 z y) #s(literal -6 binary64))) |
(-.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (*.f64 #s(literal 6 binary64) x) z)) |
(+.f64 (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(+.f64 (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64))) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(+.f64 (*.f64 (*.f64 z x) #s(literal -6 binary64)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
(+.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (*.f64 z #s(literal 6 binary64)) (neg.f64 x))) |
(+.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (neg.f64 x) (*.f64 z #s(literal 6 binary64)))) |
(+.f64 (*.f64 (*.f64 z y) #s(literal 6 binary64)) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
(*.f64 z (-.f64 y x)) |
(*.f64 (-.f64 y x) z) |
(neg.f64 (*.f64 (-.f64 x y) z)) |
(neg.f64 (*.f64 z (-.f64 x y))) |
(neg.f64 (-.f64 (*.f64 (neg.f64 z) y) (*.f64 (neg.f64 x) z))) |
(neg.f64 (fma.f64 z x (*.f64 (neg.f64 z) y))) |
(fma.f64 (neg.f64 x) z (neg.f64 (*.f64 (neg.f64 z) y))) |
(fma.f64 (neg.f64 x) z (*.f64 z y)) |
(fma.f64 (neg.f64 z) x (neg.f64 (*.f64 (neg.f64 z) y))) |
(fma.f64 (neg.f64 z) x (*.f64 z y)) |
(fma.f64 #s(literal -1 binary64) (*.f64 z x) (neg.f64 (*.f64 (neg.f64 z) y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 z x) (*.f64 z y)) |
(fma.f64 (*.f64 z x) #s(literal -1 binary64) (neg.f64 (*.f64 (neg.f64 z) y))) |
(fma.f64 (*.f64 z x) #s(literal -1 binary64) (*.f64 z y)) |
(fma.f64 z (neg.f64 x) (neg.f64 (*.f64 (neg.f64 z) y))) |
(fma.f64 z (neg.f64 x) (*.f64 z y)) |
(fma.f64 z y (*.f64 (neg.f64 x) z)) |
(fma.f64 y z (*.f64 (neg.f64 x) z)) |
(fma.f64 x (neg.f64 z) (neg.f64 (*.f64 (neg.f64 z) y))) |
(fma.f64 x (neg.f64 z) (*.f64 z y)) |
(-.f64 (*.f64 (neg.f64 x) z) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 z y) (*.f64 (*.f64 (neg.f64 x) z) #s(literal -1 binary64))) |
(-.f64 (*.f64 z y) (*.f64 #s(literal 1 binary64) (*.f64 z x))) |
(-.f64 (*.f64 z y) (neg.f64 (*.f64 (neg.f64 x) z))) |
(-.f64 (*.f64 z y) (*.f64 z x)) |
(+.f64 (*.f64 (neg.f64 x) z) (neg.f64 (*.f64 (neg.f64 z) y))) |
(+.f64 (*.f64 (neg.f64 x) z) (*.f64 z y)) |
(+.f64 (*.f64 z y) (*.f64 (neg.f64 x) z)) |
(neg.f64 (-.f64 x y)) |
(fma.f64 #s(literal -1 binary64) x y) |
(fma.f64 x #s(literal -1 binary64) y) |
(-.f64 (neg.f64 x) (neg.f64 y)) |
(-.f64 y x) |
(+.f64 (neg.f64 x) y) |
(+.f64 y (neg.f64 x)) |
y |
#s(literal 6 binary64) |
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 #s(approx (- y x) y) z) #s(literal 6 binary64)))) |
(fma.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z x) |
(fma.f64 (*.f64 z #s(literal 6 binary64)) #s(approx (- y x) y) x) |
(fma.f64 (*.f64 #s(approx (- y x) y) z) #s(literal 6 binary64) x) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 z (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) x) |
(fma.f64 #s(literal 6 binary64) (*.f64 #s(approx (- y x) y) z) x) |
(-.f64 (*.f64 (*.f64 #s(approx (- y x) y) z) #s(literal 6 binary64)) (neg.f64 x)) |
(-.f64 x (*.f64 (neg.f64 (*.f64 #s(approx (- y x) y) z)) #s(literal 6 binary64))) |
(-.f64 x (*.f64 (neg.f64 z) (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)))) |
(-.f64 x (*.f64 #s(literal -6 binary64) (*.f64 #s(approx (- y x) y) z))) |
(-.f64 x (neg.f64 (*.f64 (*.f64 #s(approx (- y x) y) z) #s(literal 6 binary64)))) |
(+.f64 (*.f64 (*.f64 #s(approx (- y x) y) z) #s(literal 6 binary64)) x) |
(+.f64 x (*.f64 (*.f64 #s(approx (- y x) y) z) #s(literal 6 binary64))) |
(*.f64 #s(approx (- y x) y) z) |
(*.f64 z #s(approx (- y x) y)) |
#s(approx (- y x) y) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z x)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (* (* z x) -6) (*.f64 (*.f64 z x) #s(literal -6 binary64))) |
#s(approx (* z x) (*.f64 z x)) |
#s(approx x x) |
#s(approx (* (* z (- y x)) 6) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
#s(approx (* z (- y x)) (*.f64 z y)) |
#s(approx (* z (- y x)) (*.f64 z (-.f64 y x))) |
#s(approx (- y x) y) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (* (* z (- y x)) 6) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x))) x)) |
#s(approx (* z (- y x)) (*.f64 (neg.f64 x) z)) |
#s(approx (* z (- y x)) (*.f64 (-.f64 (/.f64 (*.f64 z y) x) z) x)) |
#s(approx (- y x) (neg.f64 x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x)) #s(literal 1 binary64)) x)) |
#s(approx (* (* z (- y x)) 6) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 z (/.f64 (*.f64 z y) x))) x)) |
#s(approx (* z (- y x)) (*.f64 (-.f64 (/.f64 (*.f64 z y) x) z) x)) |
#s(approx (- y x) (*.f64 (-.f64 (/.f64 y x) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z x)) |
#s(approx (- y x) (-.f64 y x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 z #s(literal 6 binary64) (/.f64 (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x) y)) y)) |
#s(approx (* (* z (- y x)) 6) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 (/.f64 (*.f64 z x) y) z)) y)) |
#s(approx (* z (- y x)) (*.f64 (-.f64 z (/.f64 (*.f64 z x) y)) y)) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (neg.f64 y) (fma.f64 #s(literal -6 binary64) z (/.f64 (*.f64 (fma.f64 z #s(literal 6 binary64) #s(literal -1 binary64)) x) y)))) |
#s(approx (* (* z (- y x)) 6) (*.f64 (*.f64 #s(literal -6 binary64) (-.f64 (/.f64 (*.f64 z x) y) z)) y)) |
#s(approx (* z (- y x)) (*.f64 (-.f64 z (/.f64 (*.f64 z x) y)) y)) |
#s(approx (- y x) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 #s(literal 6 binary64) (-.f64 y x)) z x)) |
#s(approx z z) |
#s(approx (* (* z (- y x)) 6) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
#s(approx (* z (- y x)) (*.f64 z (-.f64 y x))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal 6 binary64) (-.f64 y x) (/.f64 x z)) z)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) x (/.f64 x z)) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal 6 binary64) (-.f64 y x) (/.f64 x z)) z)) |
#s(approx (* (+ (* -6 z) 1) x) (*.f64 (fma.f64 #s(literal -6 binary64) x (/.f64 x z)) z)) |
Compiled 864 to 465 computations (46.2% saved)
10 alts after pruning (1 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 152 | 1 | 153 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 1 | 5 | 6 |
| Total | 153 | 10 | 163 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 78.4% | (fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
| ✓ | 66.2% | #s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
| ✓ | 58.0% | #s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
| ✓ | 44.9% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
| ✓ | 24.5% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
| ✓ | 36.2% | #s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
| ✓ | 24.4% | #s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
| 24.5% | #s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
Compiled 235 to 209 computations (11.1% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
(+.f64 x (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z)) |
(fma.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64) x) |
(fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| Outputs |
|---|
(fma.f64 (-.f64 y x) (*.f64 z #s(literal 6 binary64)) x) |
4 calls:
| 46.0ms | z |
| 5.0ms | x |
| 5.0ms | y |
| 5.0ms | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.8% | 1 | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 99.8% | 1 | x |
| 99.8% | 1 | y |
| 99.8% | 1 | z |
Compiled 11 to 17 computations (-54.5% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
(+.f64 x (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z)) |
(fma.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64) x) |
| Outputs |
|---|
(fma.f64 (*.f64 (-.f64 y x) z) #s(literal 6 binary64) x) |
4 calls:
| 68.0ms | x |
| 5.0ms | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 5.0ms | z |
| 5.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.8% | 1 | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 99.8% | 1 | x |
| 99.8% | 1 | y |
| 99.8% | 1 | z |
Compiled 11 to 17 computations (-54.5% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(+.f64 x #s(approx (* (* (- y x) 6) z) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (*.f64 #s(literal -6 binary64) x)) z)) |
(+.f64 x (*.f64 (*.f64 #s(approx (- y x) y) #s(literal 6 binary64)) z)) |
| Outputs |
|---|
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
#s(approx (+ (* (- y x) (* z 6)) x) (*.f64 (*.f64 z (-.f64 y x)) #s(literal 6 binary64))) |
4 calls:
| 7.0ms | y |
| 5.0ms | x |
| 5.0ms | z |
| 4.0ms | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 88.9% | 3 | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 88.2% | 3 | x |
| 92.1% | 3 | y |
| 99.3% | 3 | z |
Compiled 11 to 17 computations (-54.5% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
| Outputs |
|---|
(fma.f64 (*.f64 z #s(approx (- y x) y)) #s(literal 6 binary64) x) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
2 calls:
| 8.0ms | y |
| 4.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 92.1% | 3 | y |
| 84.3% | 3 | z |
Compiled 2 to 6 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
| Outputs |
|---|
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
(fma.f64 #s(approx (- y x) y) (*.f64 z #s(literal 6 binary64)) x) |
1 calls:
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 92.1% | 3 | y |
Compiled 1 to 3 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (fma.f64 (*.f64 z x) #s(literal -6 binary64) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
4 calls:
| 5.0ms | z |
| 3.0ms | y |
| 3.0ms | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 3.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 65.0% | 2 | z |
| 76.6% | 3 | x |
| 64.8% | 4 | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 78.8% | 3 | y |
Compiled 11 to 17 computations (-54.5% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (fma.f64 #s(literal -6 binary64) z #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
1 calls:
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.8% | 3 | y |
Compiled 1 to 3 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 z y) #s(literal 6 binary64))) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) z) y)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
3 calls:
| 3.0ms | z |
| 3.0ms | y |
| 3.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 67.9% | 4 | z |
| 58.9% | 3 | x |
| 61.6% | 3 | y |
Compiled 3 to 9 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 (*.f64 #s(literal 6 binary64) y) z)) |
1 calls:
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 67.9% | 4 | z |
Compiled 1 to 3 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) (*.f64 #s(literal -6 binary64) z)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
4 calls:
| 2.0ms | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 2.0ms | z |
| 2.0ms | y |
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 36.2% | 1 | x |
| 36.2% | 1 | y |
| 47.4% | 3 | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 57.5% | 3 | z |
Compiled 11 to 17 computations (-54.5% saved)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 z x) #s(literal -6 binary64)))) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
#s(approx (+ x (* (* (- y x) 6) z)) #s(approx (* (+ (* -6 z) 1) x) (*.f64 (*.f64 #s(literal -6 binary64) x) z))) |
1 calls:
| 1.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 57.5% | 3 | z |
Compiled 1 to 3 computations (-200% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
| Outputs |
|---|
#s(approx (+ x (* (* (- y x) 6) z)) (*.f64 #s(approx (+ (* -6 z) 1) #s(literal 1 binary64)) x)) |
3 calls:
| 2.0ms | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 1.0ms | y |
| 1.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 36.2% | 1 | y |
| 36.2% | 1 | (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) z)) |
| 36.2% | 1 | z |
Compiled 10 to 14 computations (-40% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 0.026982610393541686 | 1.0193984957480307 |
| 5.0ms | -3.8753559203447405e+24 | -2.0909361208442543e+24 |
| 6.0ms | 176× | 0 | valid |
Compiled 243 to 267 computations (-9.9% saved)
ival-sub!: 1.0ms (41.1% of total)ival-mult!: 1.0ms (41.1% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 9.0ms | 1.0022765153366623e-61 | 6.216856702763696e-57 |
| 40.0ms | -1.869995647958555e-49 | -1.8681824531880557e-50 |
| 41.0ms | 224× | 0 | valid |
Compiled 292 to 322 computations (-10.3% saved)
ival-mult!: 2.0ms (62.7% of total)ival-sub!: 1.0ms (31.3% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.0022765153366623e-61 | 6.216856702763696e-57 |
| 1.0ms | -1.869995647958555e-49 | -1.8681824531880557e-50 |
Compiled 292 to 322 computations (-10.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 9.452967454557587e+39 | 3.4068988362673077e+52 |
| 32.0ms | -4.448665568068161e+25 | -3.494298552348955e+22 |
| 10.0ms | 288× | 0 | valid |
Compiled 444 to 482 computations (-8.6% saved)
ival-mult!: 2.0ms (50% of total)ival-sub!: 1.0ms (25% of total)ival-add!: 1.0ms (25% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 9.452967454557587e+39 | 3.4068988362673077e+52 |
| 1.0ms | -4.448665568068161e+25 | -3.494298552348955e+22 |
Compiled 462 to 500 computations (-8.2% saved)
| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 6.231865713120685e-99 | 8.196063477885482e-97 |
| 6.0ms | -1.76554944010836e-192 | -6.238677783180751e-193 |
| 49.0ms | -3.2611795118975994e+121 | -1.3446055386299373e+108 |
| 50.0ms | 352× | 0 | valid |
Compiled 638 to 684 computations (-7.2% saved)
ival-mult!: 40.0ms (94.8% of total)ival-sub!: 1.0ms (2.4% of total)ival-add!: 1.0ms (2.4% of total)adjust: 0.0ms (0% of total)| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 6.231865713120685e-99 | 8.196063477885482e-97 |
| 1.0ms | -1.76554944010836e-192 | -6.238677783180751e-193 |
| 1.0ms | -3.2611795118975994e+121 | -1.3446055386299373e+108 |
Compiled 638 to 684 computations (-7.2% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 0.026982610393541686 | 1.0193984957480307 |
| 11.0ms | -26912083184126706000.0 | -2274.1001946999777 |
| 6.0ms | 160× | 0 | valid |
Compiled 580 to 616 computations (-6.2% saved)
ival-mult!: 1.0ms (44.8% of total)ival-sub!: 0.0ms (0% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 0.026982610393541686 | 1.0193984957480307 |
| 1.0ms | -26912083184126706000.0 | -2274.1001946999777 |
Compiled 590 to 626 computations (-6.1% saved)
| 1× | fuel |
Compiled 131 to 94 computations (28.2% saved)
Compiled 139 to 102 computations (26.6% saved)
Loading profile data...