
Time bar (total: 1.8s)
| 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 11 computations (0% saved)
| 669.0ms | 8 256× | 0 | valid |
ival-div!: 115.0ms (50.2% of total)ival-mult!: 74.0ms (32.3% of total)ival-sub!: 37.0ms (16.1% of total)adjust: 3.0ms (1.3% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 96 |
| 1 | 160 | 90 |
| 2 | 738 | 90 |
| 3 | 4067 | 90 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
(sort x y)
Compiled 18 to 18 computations (0% saved)
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 212 |
| 1× | iter-limit |
| Inputs |
|---|
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
(/.f64 (*.f64 x y) #s(literal 2 binary64)) |
(*.f64 x y) |
x |
y |
#s(literal 2 binary64) |
(/.f64 z #s(literal 8 binary64)) |
z |
#s(literal 8 binary64) |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 #s(literal 1/8 binary64) z))) |
#s(approx (/ (* x y) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (/.f64 z x) (*.f64 #s(literal 1/2 binary64) y)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/2 binary64) y (*.f64 #s(literal 1/8 binary64) (/.f64 z x)))))) |
#s(approx y y) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 y (fma.f64 #s(literal -1/8 binary64) (/.f64 z y) (*.f64 #s(literal 1/2 binary64) x)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1/2 binary64) x (*.f64 #s(literal 1/8 binary64) (/.f64 z y)))))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (fma.f64 #s(literal -1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))) |
#s(approx (/ z 8) (*.f64 #s(literal 1/8 binary64) z)) |
#s(approx z z) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1/8 binary64)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 x y) z)))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | inf | ((- (/ (* x y) 2) (/ z 8)) (/ (* x y) 2) (* x y) x y 2 (/ z 8) z 8) |
| 1.0ms | x | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (/ (* x y) 2) (* x y) x y 2 (/ z 8) z 8) |
| 1.0ms | x | @ | 0 | ((- (/ (* x y) 2) (/ z 8)) (/ (* x y) 2) (* x y) x y 2 (/ z 8) z 8) |
| 1.0ms | y | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (/ (* x y) 2) (* x y) x y 2 (/ z 8) z 8) |
| 1.0ms | x | @ | inf | ((- (/ (* x y) 2) (/ z 8)) (/ (* x y) 2) (* x y) x y 2 (/ z 8) z 8) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 25 |
| 0 | 13 | 25 |
| 1 | 65 | 25 |
| 0 | 731 | 24 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
(/.f64 (*.f64 x y) #s(literal 2 binary64)) |
(*.f64 x y) |
x |
y |
#s(literal 2 binary64) |
(/.f64 z #s(literal 8 binary64)) |
z |
#s(literal 8 binary64) |
| Outputs |
|---|
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) x) (*.f64 y #s(literal 1/2 binary64))) |
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 y x)) #s(literal 1/2 binary64)) |
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z #s(literal -1/8 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(*.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z) #s(literal 1/8 binary64)) |
(*.f64 (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 (*.f64 z z) #s(literal 1/64 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) |
(*.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (*.f64 #s(literal 1/8 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(*.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)) #s(literal 1/16 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64))))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) (*.f64 y x))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 (neg.f64 x) y)) #s(literal -2 binary64)) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 y x)) #s(literal 2 binary64)) |
(/.f64 (/.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)) #s(literal 2 binary64)) #s(literal 8 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (/.f64 #s(literal 8 binary64) z)) #s(literal 1 binary64)) (/.f64 #s(literal 8 binary64) z)) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) #s(literal -8 binary64)) (neg.f64 z)) #s(literal -8 binary64)) |
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (pow.f64 (*.f64 z #s(literal -1/8 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 z #s(literal -1/8 binary64)))))) |
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal 8 binary64) z)) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal 1 binary64))) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (-.f64 #s(literal -8 binary64) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) (neg.f64 z))) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal -8 binary64))) |
(/.f64 (-.f64 #s(literal 8 binary64) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) z)) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal 8 binary64))) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x) y) (/.f64 #s(literal 8 binary64) z)) #s(literal -2 binary64)) (*.f64 #s(literal -2 binary64) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x) y) #s(literal -8 binary64)) (*.f64 #s(literal -2 binary64) (neg.f64 z))) #s(literal 16 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x) y) #s(literal 8 binary64)) (*.f64 #s(literal -2 binary64) z)) #s(literal -16 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 y x) (/.f64 #s(literal 8 binary64) z)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal -8 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 z))) #s(literal -16 binary64)) |
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z)) #s(literal -8 binary64)) |
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 (*.f64 z z) #s(literal 1/64 binary64)))) (neg.f64 (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (*.f64 #s(literal 1/8 binary64) z)))) (neg.f64 (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z))) #s(literal -16 binary64)) |
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (/.f64 #s(literal 2 binary64) (*.f64 y x))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 8 binary64) (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 (*.f64 z z) #s(literal 1/64 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (*.f64 #s(literal 1/8 binary64) z))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 16 binary64) (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)))) |
(/.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z) #s(literal 8 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 (*.f64 z z) #s(literal 1/64 binary64))) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) |
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (*.f64 #s(literal 1/8 binary64) z))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))))) |
(/.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)) #s(literal 16 binary64)) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) |
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 y x) (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 (neg.f64 z) #s(literal 1/8 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 (neg.f64 x) y) #s(literal -1/2 binary64) (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 z #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 y x) #s(literal 1/2 binary64) (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 y (*.f64 x #s(literal 1/2 binary64)) (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 y (/.f64 x #s(literal 2 binary64)) (*.f64 z #s(literal -1/8 binary64))) |
(fma.f64 x (*.f64 y #s(literal 1/2 binary64)) (*.f64 z #s(literal -1/8 binary64))) |
(-.f64 (/.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) #s(literal 8 binary64)) (*.f64 #s(literal 1/8 binary64) z)) |
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) (/.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) |
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))))) (/.f64 (*.f64 (*.f64 (*.f64 z z) #s(literal 1/64 binary64)) (*.f64 #s(literal 1/8 binary64) z)) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(-.f64 (/.f64 (*.f64 #s(literal 8 binary64) (*.f64 y x)) #s(literal 16 binary64)) (/.f64 (+.f64 z z) #s(literal 16 binary64))) |
(-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 #s(literal 1/8 binary64) z)) |
(+.f64 (*.f64 z #s(literal -1/8 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 z #s(literal -1/8 binary64))) |
(*.f64 (*.f64 y #s(literal 1/2 binary64)) x) |
(*.f64 #s(literal 1/2 binary64) (*.f64 y x)) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(*.f64 (*.f64 (neg.f64 x) y) #s(literal -1/2 binary64)) |
(*.f64 (*.f64 y x) #s(literal 1/2 binary64)) |
(*.f64 y (*.f64 x #s(literal 1/2 binary64))) |
(*.f64 y (/.f64 x #s(literal 2 binary64))) |
(*.f64 x (*.f64 y #s(literal 1/2 binary64))) |
(pow.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal -1 binary64)) |
(/.f64 (*.f64 (*.f64 y x) #s(literal 1 binary64)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 x) y)) #s(literal 2 binary64)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (*.f64 y x))) |
(/.f64 (*.f64 (neg.f64 x) y) #s(literal -2 binary64)) |
(/.f64 (*.f64 y x) #s(literal 2 binary64)) |
(neg.f64 (/.f64 (*.f64 y x) #s(literal -2 binary64))) |
(neg.f64 (/.f64 (*.f64 (neg.f64 x) y) #s(literal 2 binary64))) |
(*.f64 y x) |
(*.f64 x y) |
x |
y |
#s(literal 2 binary64) |
(*.f64 #s(literal 1/8 binary64) z) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) z)) |
(*.f64 (neg.f64 z) #s(literal -1/8 binary64)) |
(*.f64 z #s(literal 1/8 binary64)) |
(pow.f64 (/.f64 #s(literal 8 binary64) z) #s(literal -1 binary64)) |
(/.f64 (*.f64 z #s(literal 1 binary64)) #s(literal 8 binary64)) |
(/.f64 (neg.f64 (neg.f64 z)) #s(literal 8 binary64)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 8 binary64) z))) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 8 binary64) z) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 8 binary64) z)) |
(/.f64 (neg.f64 z) #s(literal -8 binary64)) |
(/.f64 z #s(literal 8 binary64)) |
(neg.f64 (*.f64 z #s(literal -1/8 binary64))) |
z |
#s(literal 8 binary64) |
Compiled 693 to 298 computations (57% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 99 | 2 | 101 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 100 | 2 | 102 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
| ▶ | 51.4% | #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
Compiled 20 to 20 computations (0% saved)
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 65 | 208 |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 #s(literal -1/8 binary64) z) |
#s(literal -1/8 binary64) |
z |
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
(*.f64 y #s(literal 1/2 binary64)) |
y |
#s(literal 1/2 binary64) |
x |
(*.f64 z #s(literal -1/8 binary64)) |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 #s(literal 1/8 binary64) z))) |
#s(approx (+ (* (* y 1/2) x) (* z -1/8)) (fma.f64 #s(literal -1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))) |
#s(approx x x) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (/.f64 z x) (*.f64 #s(literal 1/2 binary64) y)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/2 binary64) y (*.f64 #s(literal 1/8 binary64) (/.f64 z x)))))) |
#s(approx (* y 1/2) (*.f64 #s(literal 1/2 binary64) y)) |
#s(approx y y) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 y (fma.f64 #s(literal -1/8 binary64) (/.f64 z y) (*.f64 #s(literal 1/2 binary64) x)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1/2 binary64) x (*.f64 #s(literal 1/8 binary64) (/.f64 z y)))))) |
#s(approx z z) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1/8 binary64)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 x y) z)))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (* -1/8 z) -1/8 z (+ (* (* y 1/2) x) (* z -1/8)) (* y 1/2) y 1/2 x (* z -1/8)) |
| 1.0ms | y | @ | inf | ((- (/ (* x y) 2) (/ z 8)) (* -1/8 z) -1/8 z (+ (* (* y 1/2) x) (* z -1/8)) (* y 1/2) y 1/2 x (* z -1/8)) |
| 1.0ms | z | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (* -1/8 z) -1/8 z (+ (* (* y 1/2) x) (* z -1/8)) (* y 1/2) y 1/2 x (* z -1/8)) |
| 1.0ms | z | @ | inf | ((- (/ (* x y) 2) (/ z 8)) (* -1/8 z) -1/8 z (+ (* (* y 1/2) x) (* z -1/8)) (* y 1/2) y 1/2 x (* z -1/8)) |
| 1.0ms | x | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (* -1/8 z) -1/8 z (+ (* (* y 1/2) x) (* z -1/8)) (* y 1/2) y 1/2 x (* z -1/8)) |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 35 |
| 0 | 21 | 35 |
| 1 | 97 | 34 |
| 0 | 1139 | 34 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 #s(literal -1/8 binary64) z) |
#s(literal -1/8 binary64) |
z |
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
(*.f64 y #s(literal 1/2 binary64)) |
y |
#s(literal 1/2 binary64) |
x |
(*.f64 z #s(literal -1/8 binary64)) |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 (neg.f64 z) #s(literal 1/8 binary64)) |
(*.f64 #s(literal -1/8 binary64) z) |
(*.f64 z #s(literal -1/8 binary64)) |
(/.f64 (neg.f64 (neg.f64 z)) #s(literal -8 binary64)) |
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z)) |
(/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (neg.f64 z) #s(literal 8 binary64)) |
(/.f64 z #s(literal -8 binary64)) |
(neg.f64 (*.f64 #s(literal 1/8 binary64) z)) |
#s(literal -1/8 binary64) |
z |
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) y)) x) |
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) y) (*.f64 #s(literal 1/2 binary64) x)) |
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) x) (*.f64 #s(literal 1/2 binary64) y)) |
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 y x)) #s(literal 1/2 binary64)) |
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 #s(literal -1/8 binary64) z))) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(*.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z) #s(literal 1/8 binary64)) |
(*.f64 (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/64 binary64) (*.f64 z z))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) |
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal -1/8 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) z) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(*.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal 1/8 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(*.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)) #s(literal 1/16 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64))))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) (*.f64 y x))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 (neg.f64 x) y)) #s(literal -2 binary64)) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (*.f64 y x)) #s(literal 2 binary64)) |
(/.f64 (/.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)) #s(literal 2 binary64)) #s(literal 8 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (/.f64 #s(literal 8 binary64) z)) #s(literal 1 binary64)) (/.f64 #s(literal 8 binary64) z)) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) #s(literal -8 binary64)) (neg.f64 z)) #s(literal -8 binary64)) |
(/.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64))) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) |
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal 8 binary64) z)) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal 1 binary64))) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (-.f64 #s(literal -8 binary64) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) (neg.f64 z))) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal -8 binary64))) |
(/.f64 (-.f64 #s(literal 8 binary64) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) z)) (*.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal 8 binary64))) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x) y) (/.f64 #s(literal 8 binary64) z)) #s(literal -2 binary64)) (*.f64 #s(literal -2 binary64) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x) y) #s(literal -8 binary64)) (*.f64 #s(literal -2 binary64) (neg.f64 z))) #s(literal 16 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x) y) #s(literal 8 binary64)) (*.f64 #s(literal -2 binary64) z)) #s(literal -16 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 y x) (/.f64 #s(literal 8 binary64) z)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal -8 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 z))) #s(literal -16 binary64)) |
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal -1/8 binary64) z)))) (neg.f64 (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) z) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z)) #s(literal -8 binary64)) |
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/64 binary64) (*.f64 z z)))) (neg.f64 (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal 1/8 binary64) z)))) (neg.f64 (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z))) #s(literal -16 binary64)) |
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 z (*.f64 (*.f64 y x) #s(literal 4 binary64)))) (/.f64 #s(literal 2 binary64) (*.f64 y x))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) z) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) (fma.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal -1/8 binary64) z))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 8 binary64) (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/64 binary64) (*.f64 z z))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal 1/8 binary64) z))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 16 binary64) (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)))) |
(/.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) z) #s(literal 8 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/64 binary64) (*.f64 z z))) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) |
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal -1/8 binary64) z))) (fma.f64 #s(literal 1/64 binary64) (*.f64 z z) (-.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) #s(literal -1/8 binary64)) z)))) |
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal -1/8 binary64) z))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) z) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))))) |
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal 1/8 binary64) z))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))))) |
(/.f64 (fma.f64 #s(literal 8 binary64) (*.f64 y x) (*.f64 #s(literal -2 binary64) z)) #s(literal 16 binary64)) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) y (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) y (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 (neg.f64 z) #s(literal 1/8 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 (neg.f64 x) y) #s(literal -1/2 binary64) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 (*.f64 (neg.f64 x) y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) y) x (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) y) x (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 y x) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 y x) (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 #s(literal -1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(fma.f64 z #s(literal -1/8 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 y x) #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 (*.f64 y x) #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 y (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 y (/.f64 x #s(literal 2 binary64)) (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 y (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 y (*.f64 #s(literal 1/2 binary64) x) (*.f64 #s(literal -1/8 binary64) z)) |
(fma.f64 x (*.f64 #s(literal 1/2 binary64) y) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(fma.f64 x (*.f64 #s(literal 1/2 binary64) y) (*.f64 #s(literal -1/8 binary64) z)) |
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) (/.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))) |
(-.f64 (/.f64 (*.f64 (*.f64 y x) #s(literal 4 binary64)) #s(literal 8 binary64)) (*.f64 #s(literal 1/8 binary64) z)) |
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))))) (/.f64 (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal 1/8 binary64) z)) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) z) (fma.f64 #s(literal 1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(-.f64 (/.f64 (*.f64 #s(literal 8 binary64) (*.f64 y x)) #s(literal 16 binary64)) (/.f64 (+.f64 z z) #s(literal 16 binary64))) |
(-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) y)) x)) |
(-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 (neg.f64 y) (*.f64 #s(literal 1/2 binary64) x))) |
(-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 (neg.f64 x) (*.f64 #s(literal 1/2 binary64) y))) |
(-.f64 (*.f64 #s(literal -1/8 binary64) z) (neg.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))) |
(-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 #s(literal 1/8 binary64) z)) |
(+.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) z) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x)))))) (/.f64 (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 z z)) (*.f64 #s(literal -1/8 binary64) z)) (fma.f64 (*.f64 (*.f64 y x) (*.f64 y x)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) z) (-.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))))))) |
(+.f64 (*.f64 #s(literal -1/8 binary64) z) (*.f64 #s(literal 1/2 binary64) (*.f64 y x))) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 (neg.f64 (neg.f64 z)) #s(literal -1/8 binary64))) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y x)) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 #s(literal 1/2 binary64) y) |
(*.f64 y #s(literal 1/2 binary64)) |
(/.f64 (*.f64 y #s(literal 1 binary64)) #s(literal 2 binary64)) |
(/.f64 (*.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) |
(/.f64 (neg.f64 y) #s(literal -2 binary64)) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) y)) |
(/.f64 y #s(literal 2 binary64)) |
y |
#s(literal 1/2 binary64) |
x |
(*.f64 (neg.f64 z) #s(literal 1/8 binary64)) |
(*.f64 #s(literal -1/8 binary64) z) |
(*.f64 z #s(literal -1/8 binary64)) |
(/.f64 (neg.f64 (neg.f64 z)) #s(literal -8 binary64)) |
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z)) |
(/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 #s(literal 8 binary64) z))) |
(/.f64 (neg.f64 z) #s(literal 8 binary64)) |
(/.f64 z #s(literal -8 binary64)) |
(neg.f64 (*.f64 #s(literal 1/8 binary64) z)) |
Compiled 850 to 301 computations (64.6% saved)
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 105 | 2 | 107 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 0 | 0 |
| Total | 105 | 4 | 109 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
| ▶ | 51.3% | #s(approx (- (/ (* x y) 2) (/ z 8)) (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z))) |
| ▶ | 49.9% | #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
| ✓ | 51.4% | #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
Compiled 47 to 47 computations (0% saved)
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 212 |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 x y)) |
#s(literal 1/2 binary64) |
(*.f64 x y) |
x |
y |
#s(approx (- (/ (* x y) 2) (/ z 8)) (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z)) |
#s(literal -1 binary64) |
(/.f64 #s(literal 8 binary64) z) |
#s(literal 8 binary64) |
z |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 #s(literal 1/8 binary64) z))) |
#s(approx (* 1/2 (* x y)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
#s(approx (* x y) (*.f64 x y)) |
#s(approx x x) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 x (fma.f64 #s(literal -1/8 binary64) (/.f64 z x) (*.f64 #s(literal 1/2 binary64) y)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1/2 binary64) y (*.f64 #s(literal 1/8 binary64) (/.f64 z x)))))) |
#s(approx y y) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 y (fma.f64 #s(literal -1/8 binary64) (/.f64 z y) (*.f64 #s(literal 1/2 binary64) x)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1/2 binary64) x (*.f64 #s(literal 1/8 binary64) (/.f64 z y)))))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (fma.f64 #s(literal -1/8 binary64) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))) |
#s(approx (/ 8 z) (/.f64 #s(literal 8 binary64) z)) |
#s(approx z z) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1/8 binary64)))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 x y) z)))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | z | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (* 1/2 (* x y)) 1/2 (* x y) x y (- (/ (* x y) 2) (/ z 8)) (/ -1 (/ 8 z)) -1 (/ 8 z) 8 z) |
| 1.0ms | x | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (* 1/2 (* x y)) 1/2 (* x y) x y (- (/ (* x y) 2) (/ z 8)) (/ -1 (/ 8 z)) -1 (/ 8 z) 8 z) |
| 1.0ms | y | @ | inf | ((- (/ (* x y) 2) (/ z 8)) (* 1/2 (* x y)) 1/2 (* x y) x y (- (/ (* x y) 2) (/ z 8)) (/ -1 (/ 8 z)) -1 (/ 8 z) 8 z) |
| 1.0ms | x | @ | inf | ((- (/ (* x y) 2) (/ z 8)) (* 1/2 (* x y)) 1/2 (* x y) x y (- (/ (* x y) 2) (/ z 8)) (/ -1 (/ 8 z)) -1 (/ 8 z) 8 z) |
| 1.0ms | y | @ | -inf | ((- (/ (* x y) 2) (/ z 8)) (* 1/2 (* x y)) 1/2 (* x y) x y (- (/ (* x y) 2) (/ z 8)) (/ -1 (/ 8 z)) -1 (/ 8 z) 8 z) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 52 |
| 0 | 21 | 48 |
| 1 | 87 | 48 |
| 0 | 856 | 46 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 x y)) |
#s(literal 1/2 binary64) |
(*.f64 x y) |
x |
y |
#s(approx (- (/ (* x y) 2) (/ z 8)) (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z))) |
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z)) |
#s(literal -1 binary64) |
(/.f64 #s(literal 8 binary64) z) |
#s(literal 8 binary64) |
z |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 #s(literal 1/2 binary64) y) x)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) y) x) |
(*.f64 (*.f64 #s(literal 1/2 binary64) x) y) |
(*.f64 (*.f64 y #s(literal 1/2 binary64)) x) |
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) y) x)) |
(*.f64 (*.f64 (neg.f64 x) y) #s(literal -1/2 binary64)) |
(*.f64 (*.f64 y x) #s(literal 1/2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 y x)) |
(*.f64 y (/.f64 x #s(literal 2 binary64))) |
(*.f64 y (*.f64 #s(literal 1/2 binary64) x)) |
(*.f64 x (*.f64 y #s(literal 1/2 binary64))) |
(pow.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal -1 binary64)) |
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 y x)) #s(literal 2 binary64)) |
(/.f64 (*.f64 (*.f64 y x) #s(literal 1 binary64)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 x) y)) #s(literal 2 binary64)) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (*.f64 y x))) |
(/.f64 (*.f64 (neg.f64 x) y) #s(literal -2 binary64)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 2 binary64) (*.f64 y x)))) |
(/.f64 (*.f64 y x) #s(literal 2 binary64)) |
(neg.f64 (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 2 binary64) (*.f64 y x)))) |
(neg.f64 (/.f64 (*.f64 y x) #s(literal -2 binary64))) |
(neg.f64 (/.f64 (*.f64 (neg.f64 x) y) #s(literal 2 binary64))) |
#s(literal 1/2 binary64) |
(*.f64 y x) |
(*.f64 x y) |
x |
y |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 (*.f64 #s(literal -1 binary64) z) #s(literal 1/8 binary64)) |
(*.f64 #s(literal -1/8 binary64) z) |
(*.f64 #s(literal 1/8 binary64) (neg.f64 z)) |
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/8 binary64) z)) |
(*.f64 (neg.f64 z) #s(literal 1/8 binary64)) |
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/8 binary64) z)) |
(*.f64 (*.f64 #s(literal 1/8 binary64) z) #s(literal -1 binary64)) |
(*.f64 z #s(literal -1/8 binary64)) |
(pow.f64 (/.f64 #s(literal -8 binary64) z) #s(literal -1 binary64)) |
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 z)) #s(literal -8 binary64)) |
(/.f64 (*.f64 #s(literal -1 binary64) z) #s(literal 8 binary64)) |
(/.f64 (neg.f64 (neg.f64 z)) #s(literal -8 binary64)) |
(/.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1 binary64) z)) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -8 binary64) z)) |
(/.f64 (neg.f64 z) #s(literal 8 binary64)) |
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z)) |
(/.f64 z #s(literal -8 binary64)) |
(neg.f64 (*.f64 #s(literal 1/8 binary64) z)) |
#s(literal -1 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) (neg.f64 z)) #s(literal -8 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 8 binary64)) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 8 binary64) z)) |
(*.f64 #s(literal -8 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 z))) |
(*.f64 #s(literal 8 binary64) (/.f64 #s(literal 1 binary64) z)) |
(pow.f64 (*.f64 #s(literal 1/8 binary64) z) #s(literal -1 binary64)) |
(/.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 1/8 binary64)) |
(/.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) z)) |
(/.f64 #s(literal -8 binary64) (neg.f64 z)) |
(/.f64 (/.f64 #s(literal 8 binary64) z) #s(literal 1 binary64)) |
(/.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/8 binary64) z)) |
(/.f64 #s(literal 8 binary64) (neg.f64 (neg.f64 z))) |
(/.f64 #s(literal 8 binary64) z) |
(neg.f64 (/.f64 #s(literal -8 binary64) z)) |
#s(literal 8 binary64) |
z |
Compiled 325 to 217 computations (33.2% saved)
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 67 | 0 | 67 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 2 | 2 |
| Total | 67 | 4 | 71 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
| ✓ | 51.3% | #s(approx (- (/ (* x y) 2) (/ z 8)) (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z))) |
| ✓ | 49.9% | #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
| ✓ | 51.4% | #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
Compiled 81 to 75 computations (7.4% saved)
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z))) |
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| Outputs |
|---|
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 z #s(literal -1/8 binary64))) |
7 calls:
| 7.0ms | z |
| 7.0ms | (/.f64 z #s(literal 8 binary64)) |
| 4.0ms | x |
| 4.0ms | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| 4.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | (/.f64 z #s(literal 8 binary64)) |
| 100.0% | 1 | (*.f64 x y) |
| 100.0% | 1 | (/.f64 (*.f64 x y) #s(literal 2 binary64)) |
| 100.0% | 1 | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
Compiled 23 to 33 computations (-43.5% saved)
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (/.f64 #s(literal -1 binary64) (/.f64 #s(literal 8 binary64) z))) |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) |
7 calls:
| 3.0ms | (/.f64 z #s(literal 8 binary64)) |
| 3.0ms | z |
| 3.0ms | y |
| 3.0ms | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| 3.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 72.6% | 3 | (/.f64 z #s(literal 8 binary64)) |
| 78.3% | 3 | (*.f64 x y) |
| 78.3% | 3 | (/.f64 (*.f64 x y) #s(literal 2 binary64)) |
| 63.7% | 3 | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| 75.2% | 3 | x |
| 74.1% | 3 | y |
| 72.6% | 3 | z |
Compiled 23 to 33 computations (-43.5% saved)
Total 0.0b remaining (0%)
Threshold costs 0b (0%)
| Inputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
| Outputs |
|---|
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) |
7 calls:
| 4.0ms | x |
| 2.0ms | (/.f64 (*.f64 x y) #s(literal 2 binary64)) |
| 2.0ms | (*.f64 x y) |
| 1.0ms | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| 1.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 51.4% | 1 | (-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64))) |
| 51.4% | 1 | (/.f64 z #s(literal 8 binary64)) |
| 51.4% | 1 | z |
| 51.4% | 1 | y |
| 51.4% | 1 | x |
| 51.4% | 1 | (*.f64 x y) |
| 51.4% | 1 | (/.f64 (*.f64 x y) #s(literal 2 binary64)) |
Compiled 23 to 33 computations (-43.5% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.979666825706159e-13 | 0.0015493605215449397 |
| 0.0ms | -1.7335419646968393e-57 | -3.2283152932212806e-58 |
Compiled 12 to 15 computations (-25% saved)
| 1× | done |
Compiled 32 to 27 computations (15.6% saved)
(sort x y)
Compiled 139 to 124 computations (10.8% saved)
Loading profile data...