
Time bar (total: 3.0s)
| 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 9 to 6 computations (33.3% saved)
ival-add, time spent: 0.0ms, 0.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1.1s | 8254× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
| 0.0ms | 1× | 2048 | valid |
ival-add, time spent: 138.0ms, 94.0% of total-timeconst, time spent: 9.0ms, 6.0% of total-time| 1× | egg-herbie |
| 644× | fma-neg |
| 334× | fma-define |
| 144× | associate--r+ |
| 120× | associate-+l- |
| 112× | distribute-rgt-in |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | x |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (+.f64 x y) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 x y) z) |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 262 |
| 1 | 70 | 242 |
| 2 | 205 | 242 |
| 3 | 585 | 242 |
| 4 | 1078 | 242 |
| 5 | 1295 | 242 |
| 6 | 1358 | 242 |
| 7 | 1364 | 242 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 (+.f64 x y) z) |
(+.f64 (+.f64 (neg.f64 x) y) z) |
(+.f64 (+.f64 x (neg.f64 y)) z) |
(+.f64 (+.f64 x y) (neg.f64 z)) |
(neg.f64 (+.f64 (+.f64 (neg.f64 x) y) z)) |
(neg.f64 (+.f64 (+.f64 x (neg.f64 y)) z)) |
(neg.f64 (+.f64 (+.f64 x y) (neg.f64 z))) |
(+.f64 (+.f64 y x) z) |
(+.f64 (+.f64 z y) x) |
(+.f64 (+.f64 x z) y) |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 x y) z) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 (neg.f64 x) y) z) |
(+.f64 z (+.f64 y (neg.f64 x))) |
(+.f64 z (-.f64 y x)) |
(+.f64 (+.f64 x (neg.f64 y)) z) |
(+.f64 z (-.f64 x y)) |
(+.f64 x (-.f64 z y)) |
(+.f64 (+.f64 x y) (neg.f64 z)) |
(-.f64 (+.f64 x y) z) |
(+.f64 x (-.f64 y z)) |
(-.f64 x (-.f64 z y)) |
(neg.f64 (+.f64 (+.f64 (neg.f64 x) y) z)) |
(neg.f64 (+.f64 z (+.f64 y (neg.f64 x)))) |
(-.f64 (-.f64 x y) z) |
(-.f64 x (+.f64 y z)) |
(neg.f64 (+.f64 (+.f64 x (neg.f64 y)) z)) |
(neg.f64 (+.f64 z (-.f64 x y))) |
(-.f64 (-.f64 y x) z) |
(-.f64 y (+.f64 x z)) |
(neg.f64 (+.f64 (+.f64 x y) (neg.f64 z))) |
(neg.f64 (-.f64 (+.f64 x y) z)) |
(-.f64 z (+.f64 x y)) |
(+.f64 (+.f64 y x) z) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 z y) x) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 x z) y) |
(+.f64 x (+.f64 y z)) |
(sort x y z)
Compiled 38 to 17 computations (55.3% saved)
ival-add, time spent: 9.0ms, 91.0% of total-timeconst, time spent: 1.0ms, 10.0% of total-timeCompiled 8 to 5 computations (37.5% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (+.f64 (+.f64 x y) z) |
Compiled 8 to 5 computations (37.5% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (+.f64 x y) z) |
Compiled 15 to 6 computations (60% saved)
ival-add, time spent: 3.0ms, 87.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| Inputs |
|---|
#<alt (+.f64 (+.f64 x y) z)> |
| Outputs |
|---|
#<alt (+.f64 y z)> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt x> |
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x))))> |
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x))))> |
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x))))> |
#<alt x> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64))))> |
#<alt (+.f64 x z)> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt y> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y))))> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y))))> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y))))> |
#<alt y> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64))))> |
#<alt (+.f64 x y)> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt z> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z))))> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z))))> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z))))> |
#<alt z> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))))> |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+ (+ x y) z) |
| 0.0ms | z | @ | inf | (+ (+ x y) z) |
| 0.0ms | x | @ | -inf | (+ (+ x y) z) |
| 0.0ms | y | @ | inf | (+ (+ x y) z) |
| 0.0ms | z | @ | -inf | (+ (+ x y) z) |
| 1× | batch-egg-rewrite |
| 1094× | unpow-prod-down |
| 786× | fma-define |
| 738× | log1p-expm1-u |
| 738× | expm1-log1p-u |
| 590× | log-prod |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 22 |
| 1 | 128 | 22 |
| 2 | 1910 | 22 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (+.f64 y z)))) #s(literal 1 binary64)) |
(-.f64 (/.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (+.f64 x (-.f64 y z))) (/.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 x (-.f64 y z)))) |
(*.f64 (+.f64 x (+.f64 y z)) #s(literal 1 binary64)) |
(*.f64 (+.f64 x (+.f64 y z)) (log.f64 (exp.f64 #s(literal 1 binary64)))) |
(*.f64 #s(literal 1 binary64) (+.f64 x (+.f64 y z))) |
(*.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) |
(*.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) (pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) (cbrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(*.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) (sqrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) #s(literal 1 binary64))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (-.f64 y z)))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (-.f64 y z))) #s(literal 1 binary64))) |
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (+.f64 x (+.f64 y z))) |
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z))))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (pow.f64 (*.f64 (+.f64 x (+.f64 y z)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64)) (pow.f64 (*.f64 (+.f64 x (+.f64 y z)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x (-.f64 y z)) (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (*.f64 (+.f64 x y) z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64)))) (neg.f64 (+.f64 x (-.f64 y z)))) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (+.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 (+.f64 y z) (+.f64 y z)) (*.f64 x (+.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (+.f64 y z) (+.f64 y z))) (-.f64 x (+.f64 y z))) |
(/.f64 (-.f64 (pow.f64 z #s(literal 2 binary64)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (-.f64 z (+.f64 x y))) |
(pow.f64 (+.f64 x (+.f64 y z)) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) |
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) #s(literal -1 binary64)) |
(pow.f64 (/.f64 (+.f64 x (-.f64 y z)) (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64)))) #s(literal -1 binary64)) |
(sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64))) |
(log.f64 (exp.f64 (+.f64 x (+.f64 y z)))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x (+.f64 y z))))) |
(log.f64 (*.f64 (exp.f64 x) (*.f64 (exp.f64 y) (exp.f64 z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 x)) (*.f64 (exp.f64 y) (exp.f64 z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 x)) (exp.f64 (+.f64 y z)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))) (exp.f64 z))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(log.f64 (*.f64 (exp.f64 z) (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (exp.f64 (+.f64 x y)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))))) |
(log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 z)) (exp.f64 x))) |
(log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 z)) (+.f64 #s(literal 1 binary64) (expm1.f64 x)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 y z)) (exp.f64 x))) |
(log.f64 (*.f64 (exp.f64 (+.f64 y z)) (+.f64 #s(literal 1 binary64) (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) |
(expm1.f64 (log1p.f64 (+.f64 x (+.f64 y z)))) |
(log1p.f64 (expm1.f64 (+.f64 x (+.f64 y z)))) |
(exp.f64 (log.f64 (+.f64 x (+.f64 y z)))) |
(exp.f64 (*.f64 (log.f64 (+.f64 x (+.f64 y z))) #s(literal 1 binary64))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(fma.f64 x #s(literal 1 binary64) (+.f64 y z)) |
(fma.f64 x #s(literal 1 binary64) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 y #s(literal 1 binary64) (+.f64 x z)) |
(fma.f64 (+.f64 x y) #s(literal 1 binary64) z) |
(fma.f64 z #s(literal 1 binary64) (+.f64 x y)) |
(fma.f64 #s(literal 1 binary64) x (+.f64 y z)) |
(fma.f64 #s(literal 1 binary64) x (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) y (+.f64 x z)) |
(fma.f64 #s(literal 1 binary64) (+.f64 x y) z) |
(fma.f64 #s(literal 1 binary64) z (+.f64 x y)) |
(fma.f64 #s(literal 1 binary64) (+.f64 y z) x) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) z) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) (cbrt.f64 (+.f64 x y)) z) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (+.f64 y z)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (cbrt.f64 x) (+.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (cbrt.f64 x) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (+.f64 x y)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (cbrt.f64 y) (+.f64 x z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) z) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 y z)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (+.f64 x y)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x z)) |
(fma.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 y (-.f64 y x) (pow.f64 x #s(literal 2 binary64)))) z) |
(fma.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x y)) z) |
(fma.f64 (*.f64 (cbrt.f64 (+.f64 y z)) (cbrt.f64 (+.f64 y z))) (cbrt.f64 (+.f64 y z)) x) |
(fma.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (+.f64 y z)) x) |
| 1× | egg-herbie |
| 1584× | fma-neg |
| 970× | distribute-lft-in |
| 958× | distribute-rgt-in |
| 798× | fma-define |
| 642× | times-frac |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 280 | 4572 |
| 1 | 638 | 4530 |
| 2 | 1685 | 4463 |
| 3 | 7014 | 4432 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 y z) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
x |
(*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x)))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x)))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x)))) |
x |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64)))) |
(+.f64 x z) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
y |
(*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y)))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y)))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y)))) |
y |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64)))) |
(+.f64 x y) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
z |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
z |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (+.f64 y z)))) #s(literal 1 binary64)) |
(-.f64 (/.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (+.f64 x (-.f64 y z))) (/.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 x (-.f64 y z)))) |
(*.f64 (+.f64 x (+.f64 y z)) #s(literal 1 binary64)) |
(*.f64 (+.f64 x (+.f64 y z)) (log.f64 (exp.f64 #s(literal 1 binary64)))) |
(*.f64 #s(literal 1 binary64) (+.f64 x (+.f64 y z))) |
(*.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) |
(*.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) (pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) (cbrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(*.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) (sqrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) #s(literal 1 binary64))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (-.f64 y z)))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (-.f64 y z))) #s(literal 1 binary64))) |
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (+.f64 x (+.f64 y z))) |
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z))))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (pow.f64 (*.f64 (+.f64 x (+.f64 y z)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64)) (pow.f64 (*.f64 (+.f64 x (+.f64 y z)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) #s(literal 1/3 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x (-.f64 y z)) (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (*.f64 (+.f64 x y) z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64)))) (neg.f64 (+.f64 x (-.f64 y z)))) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (+.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 (+.f64 y z) (+.f64 y z)) (*.f64 x (+.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (+.f64 y z) (+.f64 y z))) (-.f64 x (+.f64 y z))) |
(/.f64 (-.f64 (pow.f64 z #s(literal 2 binary64)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (-.f64 z (+.f64 x y))) |
(pow.f64 (+.f64 x (+.f64 y z)) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) |
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) #s(literal -1 binary64)) |
(pow.f64 (/.f64 (+.f64 x (-.f64 y z)) (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64)))) #s(literal -1 binary64)) |
(sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64))) |
(log.f64 (exp.f64 (+.f64 x (+.f64 y z)))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x (+.f64 y z))))) |
(log.f64 (*.f64 (exp.f64 x) (*.f64 (exp.f64 y) (exp.f64 z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 x)) (*.f64 (exp.f64 y) (exp.f64 z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 x)) (exp.f64 (+.f64 y z)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))) (exp.f64 z))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(log.f64 (*.f64 (exp.f64 z) (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (exp.f64 (+.f64 x y)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))))) |
(log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 z)) (exp.f64 x))) |
(log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 z)) (+.f64 #s(literal 1 binary64) (expm1.f64 x)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 y z)) (exp.f64 x))) |
(log.f64 (*.f64 (exp.f64 (+.f64 y z)) (+.f64 #s(literal 1 binary64) (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) |
(expm1.f64 (log1p.f64 (+.f64 x (+.f64 y z)))) |
(log1p.f64 (expm1.f64 (+.f64 x (+.f64 y z)))) |
(exp.f64 (log.f64 (+.f64 x (+.f64 y z)))) |
(exp.f64 (*.f64 (log.f64 (+.f64 x (+.f64 y z))) #s(literal 1 binary64))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(fma.f64 x #s(literal 1 binary64) (+.f64 y z)) |
(fma.f64 x #s(literal 1 binary64) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 y #s(literal 1 binary64) (+.f64 x z)) |
(fma.f64 (+.f64 x y) #s(literal 1 binary64) z) |
(fma.f64 z #s(literal 1 binary64) (+.f64 x y)) |
(fma.f64 #s(literal 1 binary64) x (+.f64 y z)) |
(fma.f64 #s(literal 1 binary64) x (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) y (+.f64 x z)) |
(fma.f64 #s(literal 1 binary64) (+.f64 x y) z) |
(fma.f64 #s(literal 1 binary64) z (+.f64 x y)) |
(fma.f64 #s(literal 1 binary64) (+.f64 y z) x) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) z) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) (cbrt.f64 (+.f64 x y)) z) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (+.f64 y z)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (cbrt.f64 x) (+.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (cbrt.f64 x) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (+.f64 x y)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (cbrt.f64 y) (+.f64 x z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) z) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 y z)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (+.f64 x y)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x z)) |
(fma.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 y (-.f64 y x) (pow.f64 x #s(literal 2 binary64)))) z) |
(fma.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x y)) z) |
(fma.f64 (*.f64 (cbrt.f64 (+.f64 y z)) (cbrt.f64 (+.f64 y z))) (cbrt.f64 (+.f64 y z)) x) |
(fma.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (+.f64 y z)) x) |
| Outputs |
|---|
(+.f64 y z) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
x |
(*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x)))) |
(fma.f64 x (+.f64 (/.f64 y x) (/.f64 z x)) x) |
(*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x)))) |
(fma.f64 x (+.f64 (/.f64 y x) (/.f64 z x)) x) |
(*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 y x) (/.f64 z x)))) |
(fma.f64 x (+.f64 (/.f64 y x) (/.f64 z x)) x) |
x |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x) #s(literal -1 binary64)))) |
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x) #s(literal -1 binary64)) (neg.f64 x)) |
(*.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) (neg.f64 x)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x) #s(literal -1 binary64)))) |
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x) #s(literal -1 binary64)) (neg.f64 x)) |
(*.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) (neg.f64 x)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x) #s(literal -1 binary64)))) |
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x) #s(literal -1 binary64)) (neg.f64 x)) |
(*.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y z) x)) (neg.f64 x)) |
(+.f64 x z) |
(+.f64 z x) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
y |
(*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y)))) |
(fma.f64 y (+.f64 (/.f64 x y) (/.f64 z y)) y) |
(*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y)))) |
(fma.f64 y (+.f64 (/.f64 x y) (/.f64 z y)) y) |
(*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x y) (/.f64 z y)))) |
(fma.f64 y (+.f64 (/.f64 x y) (/.f64 z y)) y) |
y |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y) #s(literal -1 binary64)))) |
(*.f64 y (neg.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y) #s(literal -1 binary64)))) |
(*.f64 y (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y) #s(literal -1 binary64)))) |
(*.f64 y (neg.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y) #s(literal -1 binary64)))) |
(*.f64 y (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x z) y)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y) #s(literal -1 binary64)))) |
(*.f64 y (neg.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y) #s(literal -1 binary64)))) |
(*.f64 y (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 z x) y)))) |
(+.f64 x y) |
(+.f64 y x) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
z |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 (/.f64 y z) (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(fma.f64 z (+.f64 (/.f64 x z) (/.f64 y z)) z) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 (/.f64 y z) (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(fma.f64 z (+.f64 (/.f64 x z) (/.f64 y z)) z) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 (/.f64 y z) (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(fma.f64 z (+.f64 (/.f64 x z) (/.f64 y z)) z) |
z |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z) #s(literal -1 binary64)))) |
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z) #s(literal -1 binary64)) (neg.f64 z)) |
(*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z) #s(literal -1 binary64)))) |
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z) #s(literal -1 binary64)) (neg.f64 z)) |
(*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(neg.f64 (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z) #s(literal -1 binary64)))) |
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z) #s(literal -1 binary64)) (neg.f64 z)) |
(*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (+.f64 y z)))) #s(literal 1 binary64)) |
(expm1.f64 (log1p.f64 (+.f64 (+.f64 y x) z))) |
(expm1.f64 (log1p.f64 (+.f64 y (+.f64 z x)))) |
(+.f64 (+.f64 y (+.f64 z x)) #s(literal 0 binary64)) |
(-.f64 (/.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (+.f64 x (-.f64 y z))) (/.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 x (-.f64 y z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(*.f64 (+.f64 x (+.f64 y z)) #s(literal 1 binary64)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (+.f64 x (+.f64 y z)) (log.f64 (exp.f64 #s(literal 1 binary64)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 #s(literal 1 binary64) (+.f64 x (+.f64 y z))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) (pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) #s(literal 1/3 binary64))) |
(*.f64 (cbrt.f64 (+.f64 (+.f64 y x) z)) (cbrt.f64 (pow.f64 (+.f64 (+.f64 y x) z) #s(literal 2 binary64)))) |
(*.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) (cbrt.f64 (pow.f64 (+.f64 y (+.f64 z x)) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) (cbrt.f64 (+.f64 x (+.f64 y z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (+.f64 y x) z)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (+.f64 y x) z))) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 y (+.f64 z x)))) #s(literal 2 binary64))) |
(*.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) (sqrt.f64 (+.f64 x (+.f64 y z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) #s(literal 1 binary64))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (-.f64 y z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (-.f64 y z))) #s(literal 1 binary64))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (+.f64 x (+.f64 y z))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z))))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (+.f64 x (+.f64 y z)))) |
(*.f64 (cbrt.f64 (+.f64 (+.f64 y x) z)) (cbrt.f64 (pow.f64 (+.f64 (+.f64 y x) z) #s(literal 2 binary64)))) |
(*.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) (cbrt.f64 (pow.f64 (+.f64 y (+.f64 z x)) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (*.f64 (+.f64 x (+.f64 y z)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64)) (pow.f64 (*.f64 (+.f64 x (+.f64 y z)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) #s(literal 1/3 binary64))) |
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 (+.f64 y x) z) #s(literal 3 binary64)))) (cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 (+.f64 y x) z) #s(literal 3 binary64))))) |
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 y (+.f64 z x)) #s(literal 3 binary64)))) (cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 y (+.f64 z x)) #s(literal 3 binary64))))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 1/3 binary64))) |
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (+.f64 y x) z))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (+.f64 y x) z)) #s(literal 2 binary64)) (pow.f64 (+.f64 (+.f64 y x) z) #s(literal 2 binary64))))) |
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 y (+.f64 z x)))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) #s(literal 2 binary64)) (pow.f64 (+.f64 y (+.f64 z x)) #s(literal 2 binary64))))) |
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 y (+.f64 z x)))) (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) #s(literal 7 binary64))))) |
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 y (+.f64 z x)))) (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z x))) #s(literal 8 binary64)))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64)) (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64)) (pow.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) #s(literal 1/3 binary64))) |
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (+.f64 y x) z))) (cbrt.f64 (*.f64 (pow.f64 (+.f64 (+.f64 y x) z) #s(literal 2 binary64)) (sqrt.f64 (+.f64 (+.f64 y x) z))))) |
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 y (+.f64 z x)))) (cbrt.f64 (*.f64 (+.f64 y (+.f64 z x)) (pow.f64 (sqrt.f64 (+.f64 y (+.f64 z x))) #s(literal 3 binary64))))) |
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 y (+.f64 z x)))) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 y (+.f64 z x))) #s(literal 5 binary64)))) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x (-.f64 y z)) (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (*.f64 (+.f64 x y) z)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64)))) (neg.f64 (+.f64 x (-.f64 y z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (+.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 (+.f64 y z) (+.f64 y z)) (*.f64 x (+.f64 y z))))) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (+.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (*.f64 (+.f64 y z) (-.f64 (+.f64 y z) x)))) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (+.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (*.f64 (+.f64 y z) (+.f64 y (-.f64 z x))))) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (+.f64 y z) #s(literal 3 binary64))) (fma.f64 (+.f64 y z) (+.f64 y (-.f64 z x)) (pow.f64 x #s(literal 2 binary64)))) |
(/.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (+.f64 y z) (+.f64 y z))) (-.f64 x (+.f64 y z))) |
(/.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (*.f64 (+.f64 y z) (+.f64 y z))) (-.f64 (-.f64 x z) y)) |
(/.f64 (fma.f64 (+.f64 y z) (-.f64 (neg.f64 z) y) (pow.f64 x #s(literal 2 binary64))) (-.f64 (-.f64 x y) z)) |
(/.f64 (-.f64 (pow.f64 z #s(literal 2 binary64)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (-.f64 z (+.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(pow.f64 (+.f64 x (+.f64 y z)) #s(literal 1 binary64)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(pow.f64 (cbrt.f64 (+.f64 x (+.f64 y z))) #s(literal 3 binary64)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(pow.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(pow.f64 (sqrt.f64 (+.f64 x (+.f64 y z))) #s(literal 2 binary64)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (+.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) #s(literal -1 binary64)) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 y x) (+.f64 y (-.f64 x z)) (pow.f64 z #s(literal 2 binary64)))) |
(pow.f64 (/.f64 (+.f64 x (-.f64 y z)) (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64)))) #s(literal -1 binary64)) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (pow.f64 z #s(literal 2 binary64))) (+.f64 y (-.f64 x z))) |
(sqrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 2 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (exp.f64 (+.f64 x (+.f64 y z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x (+.f64 y z))))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (exp.f64 x) (*.f64 (exp.f64 y) (exp.f64 z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 x)) (*.f64 (exp.f64 y) (exp.f64 z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 x)) (exp.f64 (+.f64 y z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))) (exp.f64 z))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (exp.f64 z) (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (exp.f64 (+.f64 x y)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (+.f64 #s(literal 1 binary64) (expm1.f64 (+.f64 x y))))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 z)) (exp.f64 x))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 z)) (+.f64 #s(literal 1 binary64) (expm1.f64 x)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (exp.f64 (+.f64 y z)) (exp.f64 x))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(log.f64 (*.f64 (exp.f64 (+.f64 y z)) (+.f64 #s(literal 1 binary64) (expm1.f64 x)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(cbrt.f64 (pow.f64 (+.f64 x (+.f64 y z)) #s(literal 3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(expm1.f64 (log1p.f64 (+.f64 x (+.f64 y z)))) |
(expm1.f64 (log1p.f64 (+.f64 (+.f64 y x) z))) |
(expm1.f64 (log1p.f64 (+.f64 y (+.f64 z x)))) |
(+.f64 (+.f64 y (+.f64 z x)) #s(literal 0 binary64)) |
(log1p.f64 (expm1.f64 (+.f64 x (+.f64 y z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(exp.f64 (log.f64 (+.f64 x (+.f64 y z)))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(exp.f64 (*.f64 (log.f64 (+.f64 x (+.f64 y z))) #s(literal 1 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (+.f64 x (+.f64 y z)))) #s(literal 1/3 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (+.f64 y z)))) #s(literal 2 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 x #s(literal 1 binary64) (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 x #s(literal 1 binary64) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 y #s(literal 1 binary64) (+.f64 x z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (+.f64 x y) #s(literal 1 binary64) z) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 z #s(literal 1 binary64) (+.f64 x y)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 #s(literal 1 binary64) x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 #s(literal 1 binary64) x (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 #s(literal 1 binary64) y (+.f64 x z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 #s(literal 1 binary64) (+.f64 x y) z) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 #s(literal 1 binary64) z (+.f64 x y)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 #s(literal 1 binary64) (+.f64 y z) x) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) z) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) (cbrt.f64 (+.f64 x y)) z) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (cbrt.f64 x) (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) #s(literal 2 binary64)) (cbrt.f64 x) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (+.f64 x y)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (+.f64 x y)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (+.f64 x z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) #s(literal 2 binary64)) (cbrt.f64 y) (+.f64 x z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) z) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 y z) #s(literal 1 binary64))) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (+.f64 x y)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 y (-.f64 y x) (pow.f64 x #s(literal 2 binary64)))) z) |
(+.f64 z (/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (pow.f64 x #s(literal 2 binary64))))) |
(fma.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x y)) z) |
(+.f64 z (/.f64 (-.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))) (-.f64 x y))) |
(fma.f64 (*.f64 (cbrt.f64 (+.f64 y z)) (cbrt.f64 (+.f64 y z))) (cbrt.f64 (+.f64 y z)) x) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
(fma.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (+.f64 y z)) x) |
(+.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 z x)) |
Compiled 2001 to 764 computations (61.8% saved)
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 148 | 6 | 154 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 149 | 6 | 155 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 98.6% | (+.f64 z x) |
| ▶ | 46.6% | (+.f64 y z) |
| ▶ | 55.3% | (+.f64 y x) |
| 82.1% | (*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) | |
| ▶ | 45.1% | z |
| ▶ | 53.9% | x |
Compiled 78 to 54 computations (30.8% saved)
Compiled 21 to 7 computations (66.7% saved)
ival-add, time spent: 8.0ms, 95.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-timeCompiled 3 to 3 computations (0% saved)
6 alts after pruning (1 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 0 | 0 |
| Total | 0 | 6 | 6 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.6% | (+.f64 z x) |
| ✓ | 46.6% | (+.f64 y z) |
| ✓ | 55.3% | (+.f64 y x) |
| ▶ | 82.1% | (*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
| ✓ | 45.1% | z |
| ✓ | 53.9% | x |
Compiled 39 to 27 computations (30.8% saved)
Found 2 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (/.f64 (+.f64 y x) z) |
| ✓ | 82.1% | (*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
Compiled 41 to 16 computations (61% saved)
ival-sub, time spent: 6.0ms, 38.0% of total-timeival-neg, time spent: 3.0ms, 19.0% of total-timeival-div, time spent: 2.0ms, 13.0% of total-timeival-mult, time spent: 2.0ms, 13.0% of total-timeival-add, time spent: 2.0ms, 13.0% of total-timeconst, time spent: 1.0ms, 6.0% of total-time| Inputs |
|---|
#<alt (*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))))> |
#<alt (/.f64 (+.f64 y x) z)> |
| Outputs |
|---|
#<alt (+.f64 x y)> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt (+.f64 x (+.f64 y z))> |
#<alt z> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z))))> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z))))> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z))))> |
#<alt z> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))))> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))> |
#<alt (+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))))> |
#<alt (+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))))> |
#<alt (+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))))> |
#<alt y> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)))> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)))> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)))> |
#<alt y> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64))))> |
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))> |
#<alt (+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))))> |
#<alt (+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))))> |
#<alt (+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))))> |
#<alt x> |
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)))> |
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)))> |
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)))> |
#<alt x> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64))))> |
#<alt (/.f64 x z)> |
#<alt (+.f64 (/.f64 x z) (/.f64 y z))> |
#<alt (+.f64 (/.f64 x z) (/.f64 y z))> |
#<alt (+.f64 (/.f64 x z) (/.f64 y z))> |
#<alt (/.f64 y z)> |
#<alt (*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z))))> |
#<alt (*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z))))> |
#<alt (*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z))))> |
#<alt (/.f64 y z)> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z))))> |
#<alt (/.f64 y z)> |
#<alt (+.f64 (/.f64 x z) (/.f64 y z))> |
#<alt (+.f64 (/.f64 x z) (/.f64 y z))> |
#<alt (+.f64 (/.f64 x z) (/.f64 y z))> |
#<alt (/.f64 x z)> |
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z))))> |
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z))))> |
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z))))> |
#<alt (/.f64 x z)> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z))))> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
#<alt (/.f64 (+.f64 x y) z)> |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 45.0ms | y | @ | 0 | (/ (+ y x) z) |
| 1.0ms | y | @ | inf | (* z (neg (- -1 (/ (+ y x) z)))) |
| 1.0ms | z | @ | 0 | (* z (neg (- -1 (/ (+ y x) z)))) |
| 1.0ms | z | @ | -inf | (* z (neg (- -1 (/ (+ y x) z)))) |
| 1.0ms | z | @ | inf | (* z (neg (- -1 (/ (+ y x) z)))) |
| 1× | batch-egg-rewrite |
| 1220× | prod-diff |
| 987× | log1p-expm1-u |
| 987× | expm1-log1p-u |
| 578× | fma-define |
| 250× | fma-neg |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 63 |
| 1 | 199 | 59 |
| 2 | 2946 | 59 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
(/.f64 (+.f64 y x) z) |
| Outputs |
|---|
(+.f64 (neg.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(+.f64 (*.f64 z #s(literal -1 binary64)) (*.f64 z (/.f64 (+.f64 y x) (neg.f64 z)))) |
(-.f64 #s(literal 0 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) #s(literal 1 binary64)) |
(/.f64 (*.f64 z (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64)))) (fma.f64 (/.f64 (+.f64 y x) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64)))) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))) |
(pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal 2 binary64)) |
(neg.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(sqrt.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) |
(log.f64 (pow.f64 (exp.f64 z) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))))) |
(cbrt.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 3 binary64))) |
(cbrt.f64 (*.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) |
(cbrt.f64 (*.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)))) |
(expm1.f64 (log1p.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) |
(log1p.f64 (expm1.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) |
(exp.f64 (+.f64 (log1p.f64 (/.f64 (+.f64 y x) z)) (log.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 (+.f64 y x) z)) (log.f64 z)) #s(literal 1 binary64))) |
(fma.f64 z #s(literal -1 binary64) (*.f64 z (/.f64 (+.f64 y x) (neg.f64 z)))) |
(fma.f64 #s(literal -1 binary64) z (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 #s(literal 1 binary64) (neg.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (neg.f64 (cbrt.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (*.f64 (cbrt.f64 (neg.f64 z)) (cbrt.f64 (neg.f64 z))) (cbrt.f64 (neg.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64)) |
(*.f64 (+.f64 y x) (/.f64 #s(literal 1 binary64) z)) |
(*.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) |
(*.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64)) (cbrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 (+.f64 y x)) z)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) z))) |
(*.f64 (sqrt.f64 (/.f64 (+.f64 y x) z)) (sqrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 (sqrt.f64 (+.f64 y x)) z)) |
(*.f64 (sqrt.f64 (+.f64 y x)) (*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) z))) |
(*.f64 (neg.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) (neg.f64 z))) |
(*.f64 (/.f64 #s(literal 1 binary64) z) (+.f64 y x)) |
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (/.f64 (+.f64 y x) (cbrt.f64 z))) |
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 z)) (/.f64 (+.f64 y x) (sqrt.f64 z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (/.f64 (cbrt.f64 (+.f64 y x)) z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (sqrt.f64 z)) (/.f64 (cbrt.f64 (+.f64 y x)) (sqrt.f64 z))) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 y x)) #s(literal 1 binary64)) (/.f64 (sqrt.f64 (+.f64 y x)) z)) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 y x)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (/.f64 (sqrt.f64 (+.f64 y x)) (cbrt.f64 z))) |
(pow.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64)) |
(pow.f64 (/.f64 z (+.f64 y x)) #s(literal -1 binary64)) |
(neg.f64 (/.f64 (+.f64 y x) (neg.f64 z))) |
(sqrt.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64))) |
(log.f64 (exp.f64 (/.f64 (+.f64 y x) z))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (/.f64 (+.f64 y x) z)))) |
(cbrt.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64))) |
(expm1.f64 (log1p.f64 (/.f64 (+.f64 y x) z))) |
(log1p.f64 (expm1.f64 (/.f64 (+.f64 y x) z))) |
(exp.f64 (log.f64 (/.f64 (+.f64 y x) z))) |
(exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64)) |
(fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64) #s(literal -1 binary64)) |
(fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64) #s(literal -1 binary64)) |
(fma.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64)) |
(fma.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) #s(literal -1 binary64)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) (neg.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal -1 binary64)) |
(fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal -1 binary64)) |
(fma.f64 (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (+.f64 y x) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) #s(literal -1 binary64)) |
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
| 1× | egg-herbie |
| 868× | fma-define |
| 848× | times-frac |
| 822× | distribute-lft-in |
| 792× | distribute-rgt-in |
| 772× | exp-prod |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 229 | 4997 |
| 1 | 564 | 4377 |
| 2 | 1699 | 3996 |
| 3 | 7290 | 3996 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x y) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
z |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
z |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) |
(+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
y |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y))) |
y |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64)))) |
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
(+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
x |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x))) |
x |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64)))) |
(/.f64 x z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 y z) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(/.f64 y z) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z)))) |
(/.f64 y z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 x z) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(/.f64 x z) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z)))) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(/.f64 (+.f64 x y) z) |
(+.f64 (neg.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(+.f64 (*.f64 z #s(literal -1 binary64)) (*.f64 z (/.f64 (+.f64 y x) (neg.f64 z)))) |
(-.f64 #s(literal 0 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) #s(literal 1 binary64)) |
(/.f64 (*.f64 z (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64)))) (fma.f64 (/.f64 (+.f64 y x) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64)))) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))) |
(pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal 2 binary64)) |
(neg.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(sqrt.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) |
(log.f64 (pow.f64 (exp.f64 z) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))))) |
(cbrt.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 3 binary64))) |
(cbrt.f64 (*.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) |
(cbrt.f64 (*.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)))) |
(expm1.f64 (log1p.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) |
(log1p.f64 (expm1.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) |
(exp.f64 (+.f64 (log1p.f64 (/.f64 (+.f64 y x) z)) (log.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 (+.f64 y x) z)) (log.f64 z)) #s(literal 1 binary64))) |
(fma.f64 z #s(literal -1 binary64) (*.f64 z (/.f64 (+.f64 y x) (neg.f64 z)))) |
(fma.f64 #s(literal -1 binary64) z (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 #s(literal 1 binary64) (neg.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (neg.f64 (cbrt.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (*.f64 (cbrt.f64 (neg.f64 z)) (cbrt.f64 (neg.f64 z))) (cbrt.f64 (neg.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64)) |
(*.f64 (+.f64 y x) (/.f64 #s(literal 1 binary64) z)) |
(*.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) |
(*.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64)) (cbrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 (+.f64 y x)) z)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) z))) |
(*.f64 (sqrt.f64 (/.f64 (+.f64 y x) z)) (sqrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 (sqrt.f64 (+.f64 y x)) z)) |
(*.f64 (sqrt.f64 (+.f64 y x)) (*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) z))) |
(*.f64 (neg.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) (neg.f64 z))) |
(*.f64 (/.f64 #s(literal 1 binary64) z) (+.f64 y x)) |
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (/.f64 (+.f64 y x) (cbrt.f64 z))) |
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 z)) (/.f64 (+.f64 y x) (sqrt.f64 z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (/.f64 (cbrt.f64 (+.f64 y x)) z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (sqrt.f64 z)) (/.f64 (cbrt.f64 (+.f64 y x)) (sqrt.f64 z))) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 y x)) #s(literal 1 binary64)) (/.f64 (sqrt.f64 (+.f64 y x)) z)) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 y x)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (/.f64 (sqrt.f64 (+.f64 y x)) (cbrt.f64 z))) |
(pow.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64)) |
(pow.f64 (/.f64 z (+.f64 y x)) #s(literal -1 binary64)) |
(neg.f64 (/.f64 (+.f64 y x) (neg.f64 z))) |
(sqrt.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64))) |
(log.f64 (exp.f64 (/.f64 (+.f64 y x) z))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (/.f64 (+.f64 y x) z)))) |
(cbrt.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64))) |
(expm1.f64 (log1p.f64 (/.f64 (+.f64 y x) z))) |
(log1p.f64 (expm1.f64 (/.f64 (+.f64 y x) z))) |
(exp.f64 (log.f64 (/.f64 (+.f64 y x) z))) |
(exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64)) |
(fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64) #s(literal -1 binary64)) |
(fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64) #s(literal -1 binary64)) |
(fma.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64)) |
(fma.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) #s(literal -1 binary64)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) (neg.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal -1 binary64)) |
(fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal -1 binary64)) |
(fma.f64 (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (+.f64 y x) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) #s(literal -1 binary64)) |
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
| Outputs |
|---|
(+.f64 x y) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (+.f64 y z)) |
z |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(+.f64 x (+.f64 y z)) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(+.f64 x (+.f64 y z)) |
(*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 x z) (/.f64 y z)))) |
(+.f64 x (+.f64 y z)) |
z |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(+.f64 x (+.f64 y z)) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(+.f64 x (+.f64 y z)) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(+.f64 x (+.f64 y z)) |
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) |
(+.f64 x z) |
(+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(+.f64 x (+.f64 y z)) |
(+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(+.f64 x (+.f64 y z)) |
(+.f64 y (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z)))) |
(+.f64 x (+.f64 y z)) |
y |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y)))) |
(*.f64 y (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (+.f64 x z) y) y) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y)))) |
(*.f64 y (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (+.f64 x z) y) y) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y)))) |
(*.f64 y (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (+.f64 x z) y) y) |
y |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64)))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y)))) |
(*.f64 y (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (+.f64 x z) y) y) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64)))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y)))) |
(*.f64 y (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (+.f64 x z) y) y) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 x z))) y)) #s(literal 1 binary64)))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y)))) |
(*.f64 y (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x z)) y) #s(literal 1 binary64))) |
(fma.f64 y (/.f64 (+.f64 x z) y) y) |
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
(+.f64 y z) |
(+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(+.f64 x (+.f64 y z)) |
(+.f64 x (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(+.f64 x (+.f64 y z)) |
x |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x)))) |
(*.f64 x (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x) #s(literal 1 binary64))) |
(fma.f64 x (/.f64 (+.f64 y z) x) x) |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x)))) |
(*.f64 x (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x) #s(literal 1 binary64))) |
(fma.f64 x (/.f64 (+.f64 y z) x) x) |
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x)))) |
(*.f64 x (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x) #s(literal 1 binary64))) |
(fma.f64 x (/.f64 (+.f64 y z) x) x) |
x |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64)))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x)))) |
(*.f64 x (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x) #s(literal 1 binary64))) |
(fma.f64 x (/.f64 (+.f64 y z) x) x) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64)))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x)))) |
(*.f64 x (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x) #s(literal 1 binary64))) |
(fma.f64 x (/.f64 (+.f64 y z) x) x) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) x)) #s(literal 1 binary64)))) |
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x)))) |
(*.f64 x (fma.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 y z)) x) #s(literal 1 binary64))) |
(fma.f64 x (/.f64 (+.f64 y z) x) x) |
(/.f64 x z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(/.f64 y z) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(fma.f64 y (/.f64 x (*.f64 y z)) (/.f64 y z)) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(fma.f64 y (/.f64 x (*.f64 y z)) (/.f64 y z)) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(fma.f64 y (/.f64 x (*.f64 y z)) (/.f64 y z)) |
(/.f64 y z) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(fma.f64 y (/.f64 x (*.f64 y z)) (/.f64 y z)) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(fma.f64 y (/.f64 x (*.f64 y z)) (/.f64 y z)) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z)))) |
(fma.f64 y (/.f64 x (*.f64 y z)) (/.f64 y z)) |
(/.f64 y z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(/.f64 x z) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (/.f64 y z) x))) |
(fma.f64 x (/.f64 (/.f64 y z) x) (/.f64 x z)) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (/.f64 y z) x))) |
(fma.f64 x (/.f64 (/.f64 y z) x) (/.f64 x z)) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (/.f64 y z) x))) |
(fma.f64 x (/.f64 (/.f64 y z) x) (/.f64 x z)) |
(/.f64 x z) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (/.f64 y z) x))) |
(fma.f64 x (/.f64 (/.f64 y z) x) (/.f64 x z)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (/.f64 y z) x))) |
(fma.f64 x (/.f64 (/.f64 y z) x) (/.f64 x z)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 x z))) (/.f64 #s(literal 1 binary64) z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y (*.f64 x z)))) |
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (/.f64 y z) x))) |
(fma.f64 x (/.f64 (/.f64 y z) x) (/.f64 x z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(+.f64 (neg.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(+.f64 (*.f64 z #s(literal -1 binary64)) (*.f64 z (/.f64 (+.f64 y x) (neg.f64 z)))) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) #s(literal 1 binary64)) |
(+.f64 x (+.f64 y z)) |
(/.f64 (*.f64 z (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64)))) (fma.f64 (/.f64 (+.f64 y x) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) |
(/.f64 (*.f64 z (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 3 binary64)))) (fma.f64 (/.f64 (+.f64 x y) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))) |
(*.f64 z (/.f64 (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 3 binary64))) (fma.f64 (/.f64 (+.f64 x y) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64)))) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 2 binary64)))) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(*.f64 z (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 2 binary64))) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)))) |
(*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 2 binary64))) (/.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)))) |
(pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 1 binary64)) |
(+.f64 x (+.f64 y z)) |
(pow.f64 (cbrt.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal 3 binary64)) |
(+.f64 x (+.f64 y z)) |
(pow.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(+.f64 x (+.f64 y z)) |
(pow.f64 (sqrt.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal 2 binary64)) |
(+.f64 x (+.f64 y z)) |
(neg.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(sqrt.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) |
(+.f64 x (+.f64 y z)) |
(log.f64 (pow.f64 (exp.f64 z) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) |
(+.f64 x (+.f64 y z)) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))))) |
(+.f64 x (+.f64 y z)) |
(cbrt.f64 (pow.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 3 binary64))) |
(+.f64 x (+.f64 y z)) |
(cbrt.f64 (*.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) |
(+.f64 x (+.f64 y z)) |
(cbrt.f64 (*.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)))) |
(+.f64 x (+.f64 y z)) |
(expm1.f64 (log1p.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) |
(+.f64 x (+.f64 y z)) |
(log1p.f64 (expm1.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))))) |
(+.f64 x (+.f64 y z)) |
(exp.f64 (+.f64 (log1p.f64 (/.f64 (+.f64 y x) z)) (log.f64 z))) |
(+.f64 x (+.f64 y z)) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 (+.f64 y x) z)) (log.f64 z)) #s(literal 1 binary64))) |
(+.f64 x (+.f64 y z)) |
(fma.f64 z #s(literal -1 binary64) (*.f64 z (/.f64 (+.f64 y x) (neg.f64 z)))) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 #s(literal -1 binary64) z (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 #s(literal 1 binary64) (neg.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (neg.f64 (cbrt.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 (*.f64 (cbrt.f64 (neg.f64 z)) (cbrt.f64 (neg.f64 z))) (cbrt.f64 (neg.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (/.f64 (+.f64 y x) (neg.f64 z)) z)) |
(*.f64 z (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) (neg.f64 z)))) |
(*.f64 z (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 (neg.f64 z) (+.f64 x y)) |
(-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (+.f64 y x) (/.f64 #s(literal 1 binary64) z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64)) (cbrt.f64 (/.f64 (+.f64 y x) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 (+.f64 y x)) z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (sqrt.f64 (/.f64 (+.f64 y x) z)) (sqrt.f64 (/.f64 (+.f64 y x) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 (sqrt.f64 (+.f64 y x)) z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (sqrt.f64 (+.f64 y x)) (*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (neg.f64 (+.f64 y x)) (/.f64 #s(literal 1 binary64) (neg.f64 z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 #s(literal 1 binary64) z) (+.f64 y x)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (/.f64 (+.f64 y x) (cbrt.f64 z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 z)) (/.f64 (+.f64 y x) (sqrt.f64 z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (/.f64 (cbrt.f64 (+.f64 y x)) z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 (/.f64 (+.f64 y x) z))) |
(*.f64 (cbrt.f64 (/.f64 (+.f64 x y) z)) (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 (/.f64 (+.f64 x y) z)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) #s(literal 2 binary64)) (sqrt.f64 z)) (/.f64 (cbrt.f64 (+.f64 y x)) (sqrt.f64 z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 y x)) #s(literal 1 binary64)) (/.f64 (sqrt.f64 (+.f64 y x)) z)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 y x)) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (/.f64 (sqrt.f64 (+.f64 y x)) (cbrt.f64 z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(pow.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(pow.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(pow.f64 (sqrt.f64 (/.f64 (+.f64 y x) z)) #s(literal 2 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(pow.f64 (/.f64 z (+.f64 y x)) #s(literal -1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(neg.f64 (/.f64 (+.f64 y x) (neg.f64 z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(sqrt.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(log.f64 (exp.f64 (/.f64 (+.f64 y x) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (/.f64 (+.f64 y x) z)))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(cbrt.f64 (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(expm1.f64 (log1p.f64 (/.f64 (+.f64 y x) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(log1p.f64 (expm1.f64 (/.f64 (+.f64 y x) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(exp.f64 (log.f64 (/.f64 (+.f64 y x) z))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64) #s(literal -1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(fma.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(fma.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) #s(literal -1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64)) (neg.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(+.f64 (/.f64 x z) (/.f64 y z)) |
(/.f64 (+.f64 x y) z) |
(fma.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) (neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (+.f64 y x) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)) #s(literal 1 binary64))) #s(literal -1 binary64)) |
(fma.f64 (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (+.f64 x y) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64))) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 3 binary64))) (fma.f64 (/.f64 (+.f64 x y) z) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)) #s(literal 1 binary64)))) |
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 y x) z) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (+.f64 x y) z) #s(literal 2 binary64))) (+.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z)))) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (neg.f64 (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal 2 binary64))) (cbrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
(fma.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 y x) z))) #s(literal -1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (/.f64 (+.f64 x y) z)) #s(literal -1 binary64)) |
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))) |
(-.f64 #s(literal -2 binary64) (/.f64 (+.f64 x y) z)) |
Compiled 1954 to 924 computations (52.7% saved)
6 alts after pruning (1 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 129 | 1 | 130 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 5 | 5 |
| Total | 130 | 6 | 136 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.6% | (+.f64 z x) |
| ✓ | 46.6% | (+.f64 y z) |
| ✓ | 55.3% | (+.f64 y x) |
| ▶ | 46.7% | (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
| ✓ | 45.1% | z |
| ✓ | 53.9% | x |
Compiled 36 to 25 computations (30.6% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 98.1% | (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
Compiled 22 to 11 computations (50% saved)
ival-add, time spent: 3.0ms, 36.0% of total-timeival-div, time spent: 2.0ms, 24.0% of total-timeival-mult, time spent: 2.0ms, 24.0% of total-timeconst, time spent: 1.0ms, 12.0% of total-time| Inputs |
|---|
#<alt (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z)))> |
| Outputs |
|---|
#<alt y> |
#<alt (+.f64 y z)> |
#<alt (+.f64 y z)> |
#<alt (+.f64 y z)> |
#<alt z> |
#<alt z> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64))))> |
#<alt z> |
#<alt (+.f64 y z)> |
#<alt (+.f64 y z)> |
#<alt (+.f64 y z)> |
#<alt y> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y)))> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y)))> |
#<alt (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y)))> |
#<alt y> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64))))> |
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64))))> |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | z | @ | inf | (* z (+ 1 (/ y z))) |
| 1.0ms | z | @ | -inf | (* z (+ 1 (/ y z))) |
| 0.0ms | z | @ | 0 | (* z (+ 1 (/ y z))) |
| 0.0ms | y | @ | -inf | (* z (+ 1 (/ y z))) |
| 0.0ms | y | @ | inf | (* z (+ 1 (/ y z))) |
| 1× | batch-egg-rewrite |
| 1306× | unpow-prod-down |
| 916× | prod-diff |
| 673× | log1p-expm1-u |
| 673× | expm1-log1p-u |
| 670× | log-prod |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 28 |
| 1 | 133 | 28 |
| 2 | 1858 | 27 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
| Outputs |
|---|
(+.f64 z (*.f64 z (/.f64 y z))) |
(+.f64 z (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 #s(literal 0 binary64) (fma.f64 z (/.f64 y z) z)) |
(+.f64 (*.f64 z (/.f64 y z)) z) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))) (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 1 binary64)) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z (/.f64 y z)) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (*.f64 (*.f64 z (/.f64 y z)) (*.f64 z (/.f64 y z))) (*.f64 z (*.f64 z (/.f64 y z)))))) |
(/.f64 (-.f64 (pow.f64 z #s(literal 2 binary64)) (*.f64 (*.f64 z (/.f64 y z)) (*.f64 z (/.f64 y z)))) (-.f64 z (*.f64 z (/.f64 y z)))) |
(/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64)))) (fma.f64 (/.f64 y z) (-.f64 (/.f64 y z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64)))) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(/.f64 (*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) z) (fma.f64 (/.f64 y z) (-.f64 (/.f64 y z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64))) z) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (fma.f64 z (/.f64 y z) z)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (fma.f64 z (/.f64 y z) z)) #s(literal 2 binary64)) |
(sqrt.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 2 binary64))) |
(log.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (fma.f64 z (/.f64 y z) z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (exp.f64 (*.f64 z (/.f64 y z))))) |
(log.f64 (*.f64 (exp.f64 (*.f64 z (/.f64 y z))) (exp.f64 z))) |
(log.f64 (*.f64 (exp.f64 (*.f64 z (/.f64 y z))) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(cbrt.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 3 binary64))) |
(expm1.f64 (log1p.f64 (fma.f64 z (/.f64 y z) z))) |
(log1p.f64 (expm1.f64 (fma.f64 z (/.f64 y z) z))) |
(exp.f64 (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z)) #s(literal 1 binary64))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 2 binary64))) |
(fma.f64 z #s(literal 1 binary64) (*.f64 z (/.f64 y z))) |
(fma.f64 z #s(literal 1 binary64) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 z (/.f64 y z) z) |
(fma.f64 #s(literal 1 binary64) z (*.f64 z (/.f64 y z))) |
(fma.f64 #s(literal 1 binary64) z (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 z (/.f64 y z)) z) |
(fma.f64 y (*.f64 (/.f64 #s(literal 1 binary64) z) z) z) |
(fma.f64 (/.f64 y z) z z) |
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 y z)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (/.f64 y z)) z) z) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 z (/.f64 y z))) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (*.f64 z (/.f64 y z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) #s(literal 1 binary64)) (*.f64 z (/.f64 y z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) #s(literal 1 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) (/.f64 y z)) z) |
(fma.f64 (sqrt.f64 (/.f64 y z)) (*.f64 (sqrt.f64 (/.f64 y z)) z) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (/.f64 y z))) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) #s(literal 1 binary64)) (*.f64 z (/.f64 y z))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) #s(literal 1 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (/.f64 y z)) z) |
(fma.f64 (*.f64 (cbrt.f64 (*.f64 z (/.f64 y z))) (cbrt.f64 (*.f64 z (/.f64 y z)))) (cbrt.f64 (*.f64 z (/.f64 y z))) z) |
(fma.f64 (sqrt.f64 (*.f64 z (/.f64 y z))) (sqrt.f64 (*.f64 z (/.f64 y z))) z) |
(fma.f64 (*.f64 (sqrt.f64 (/.f64 y z)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (/.f64 y z)) (sqrt.f64 z)) z) |
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 y z))) (*.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 y z))) z) |
(fma.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 z) z) |
(fma.f64 (*.f64 (/.f64 y z) (sqrt.f64 z)) (sqrt.f64 z) z) |
(fma.f64 (*.f64 z y) (/.f64 #s(literal 1 binary64) z) z) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (/.f64 y z)) #s(literal 2 binary64))) (cbrt.f64 (/.f64 y z)) z) |
(fma.f64 (*.f64 z (sqrt.f64 (/.f64 y z))) (sqrt.f64 (/.f64 y z)) z) |
| 1× | egg-herbie |
| 1782× | times-frac |
| 1472× | distribute-lft-neg-in |
| 618× | exp-prod |
| 600× | prod-exp |
| 574× | cube-prod |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 169 | 1494 |
| 1 | 396 | 1384 |
| 2 | 1038 | 1373 |
| 3 | 5187 | 1373 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 y z) |
(+.f64 y z) |
(+.f64 y z) |
z |
z |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
z |
(+.f64 y z) |
(+.f64 y z) |
(+.f64 y z) |
y |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y))) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y))) |
y |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64)))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64)))) |
(+.f64 z (*.f64 z (/.f64 y z))) |
(+.f64 z (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 #s(literal 0 binary64) (fma.f64 z (/.f64 y z) z)) |
(+.f64 (*.f64 z (/.f64 y z)) z) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))) (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 1 binary64)) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z (/.f64 y z)) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (*.f64 (*.f64 z (/.f64 y z)) (*.f64 z (/.f64 y z))) (*.f64 z (*.f64 z (/.f64 y z)))))) |
(/.f64 (-.f64 (pow.f64 z #s(literal 2 binary64)) (*.f64 (*.f64 z (/.f64 y z)) (*.f64 z (/.f64 y z)))) (-.f64 z (*.f64 z (/.f64 y z)))) |
(/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64)))) (fma.f64 (/.f64 y z) (-.f64 (/.f64 y z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64)))) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(/.f64 (*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) z) (fma.f64 (/.f64 y z) (-.f64 (/.f64 y z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64))) z) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (fma.f64 z (/.f64 y z) z)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (sqrt.f64 (fma.f64 z (/.f64 y z) z)) #s(literal 2 binary64)) |
(sqrt.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 2 binary64))) |
(log.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (fma.f64 z (/.f64 y z) z)))) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (exp.f64 (*.f64 z (/.f64 y z))))) |
(log.f64 (*.f64 (exp.f64 (*.f64 z (/.f64 y z))) (exp.f64 z))) |
(log.f64 (*.f64 (exp.f64 (*.f64 z (/.f64 y z))) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(cbrt.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 3 binary64))) |
(expm1.f64 (log1p.f64 (fma.f64 z (/.f64 y z) z))) |
(log1p.f64 (expm1.f64 (fma.f64 z (/.f64 y z) z))) |
(exp.f64 (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z)) #s(literal 1 binary64))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 2 binary64))) |
(fma.f64 z #s(literal 1 binary64) (*.f64 z (/.f64 y z))) |
(fma.f64 z #s(literal 1 binary64) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 z (/.f64 y z) z) |
(fma.f64 #s(literal 1 binary64) z (*.f64 z (/.f64 y z))) |
(fma.f64 #s(literal 1 binary64) z (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 z (/.f64 y z)) z) |
(fma.f64 y (*.f64 (/.f64 #s(literal 1 binary64) z) z) z) |
(fma.f64 (/.f64 y z) z z) |
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 y z)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (/.f64 y z)) z) z) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 z (/.f64 y z))) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (*.f64 z (/.f64 y z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) #s(literal 1 binary64)) (*.f64 z (/.f64 y z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) #s(literal 1 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) (/.f64 y z)) z) |
(fma.f64 (sqrt.f64 (/.f64 y z)) (*.f64 (sqrt.f64 (/.f64 y z)) z) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (/.f64 y z))) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) #s(literal 1 binary64)) (*.f64 z (/.f64 y z))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) #s(literal 1 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (/.f64 y z)) z) |
(fma.f64 (*.f64 (cbrt.f64 (*.f64 z (/.f64 y z))) (cbrt.f64 (*.f64 z (/.f64 y z)))) (cbrt.f64 (*.f64 z (/.f64 y z))) z) |
(fma.f64 (sqrt.f64 (*.f64 z (/.f64 y z))) (sqrt.f64 (*.f64 z (/.f64 y z))) z) |
(fma.f64 (*.f64 (sqrt.f64 (/.f64 y z)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (/.f64 y z)) (sqrt.f64 z)) z) |
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 y z))) (*.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 y z))) z) |
(fma.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 z) z) |
(fma.f64 (*.f64 (/.f64 y z) (sqrt.f64 z)) (sqrt.f64 z) z) |
(fma.f64 (*.f64 z y) (/.f64 #s(literal 1 binary64) z) z) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (/.f64 y z)) #s(literal 2 binary64))) (cbrt.f64 (/.f64 y z)) z) |
(fma.f64 (*.f64 z (sqrt.f64 (/.f64 y z))) (sqrt.f64 (/.f64 y z)) z) |
| Outputs |
|---|
y |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 y z) |
(+.f64 z y) |
z |
z |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(+.f64 y z) |
(+.f64 z y) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(+.f64 y z) |
(+.f64 z y) |
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(+.f64 y z) |
(+.f64 z y) |
z |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 y z) |
(+.f64 z y) |
y |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y))) |
(+.f64 y z) |
(+.f64 z y) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y))) |
(+.f64 y z) |
(+.f64 z y) |
(*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 z y))) |
(+.f64 y z) |
(+.f64 z y) |
y |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64)))) |
(+.f64 y z) |
(+.f64 z y) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64)))) |
(+.f64 y z) |
(+.f64 z y) |
(*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 z y)) #s(literal 1 binary64)))) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 z (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 z (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 #s(literal 0 binary64) (fma.f64 z (/.f64 y z) z)) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 (*.f64 z (/.f64 y z)) z) |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))) (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 z y))) (cbrt.f64 (exp.f64 (+.f64 z y))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 z y))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))))) |
(*.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 z y)))) #s(literal 2 binary64)) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 1 binary64)) |
(+.f64 y z) |
(+.f64 z y) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z (/.f64 y z)) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (*.f64 (*.f64 z (/.f64 y z)) (*.f64 z (/.f64 y z))) (*.f64 z (*.f64 z (/.f64 y z)))))) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z (/.f64 y z)) #s(literal 3 binary64))) (fma.f64 z z (*.f64 (*.f64 z (/.f64 y z)) (-.f64 (*.f64 z (/.f64 y z)) z)))) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 z z (*.f64 y (-.f64 y z)))) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y z) (pow.f64 z #s(literal 2 binary64)))) |
(/.f64 (-.f64 (pow.f64 z #s(literal 2 binary64)) (*.f64 (*.f64 z (/.f64 y z)) (*.f64 z (/.f64 y z)))) (-.f64 z (*.f64 z (/.f64 y z)))) |
(+.f64 y z) |
(+.f64 z y) |
(/.f64 (*.f64 z (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64)))) (fma.f64 (/.f64 y z) (-.f64 (/.f64 y z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) (fma.f64 (/.f64 y z) (+.f64 (/.f64 y z) #s(literal -1 binary64)) #s(literal 1 binary64)))) |
(*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) (fma.f64 (/.f64 y z) (+.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(/.f64 (fma.f64 z (pow.f64 (/.f64 y z) #s(literal 3 binary64)) z) (fma.f64 (/.f64 y z) (+.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64))) |
(/.f64 (*.f64 z (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64)))) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(*.f64 z (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(/.f64 (-.f64 z (/.f64 (*.f64 y y) z)) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(/.f64 (*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) z) (fma.f64 (/.f64 y z) (-.f64 (/.f64 y z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) (fma.f64 (/.f64 y z) (+.f64 (/.f64 y z) #s(literal -1 binary64)) #s(literal 1 binary64)))) |
(*.f64 z (/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 3 binary64))) (fma.f64 (/.f64 y z) (+.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64)))) |
(/.f64 (fma.f64 z (pow.f64 (/.f64 y z) #s(literal 3 binary64)) z) (fma.f64 (/.f64 y z) (+.f64 #s(literal -1 binary64) (/.f64 y z)) #s(literal 1 binary64))) |
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64))) z) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(*.f64 z (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 y z) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(/.f64 (-.f64 z (/.f64 (*.f64 y y) z)) (-.f64 #s(literal 1 binary64) (/.f64 y z))) |
(pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 1 binary64)) |
(+.f64 y z) |
(+.f64 z y) |
(pow.f64 (cbrt.f64 (fma.f64 z (/.f64 y z) z)) #s(literal 3 binary64)) |
(+.f64 y z) |
(+.f64 z y) |
(pow.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 3 binary64)) #s(literal 1/3 binary64)) |
(+.f64 y z) |
(+.f64 z y) |
(pow.f64 (sqrt.f64 (fma.f64 z (/.f64 y z) z)) #s(literal 2 binary64)) |
(+.f64 y z) |
(+.f64 z y) |
(sqrt.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 2 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(log.f64 (exp.f64 (fma.f64 z (/.f64 y z) z))) |
(+.f64 y z) |
(+.f64 z y) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (fma.f64 z (/.f64 y z) z)))) |
(+.f64 y z) |
(+.f64 z y) |
(log.f64 (*.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 z)) (exp.f64 (*.f64 z (/.f64 y z))))) |
(+.f64 y z) |
(+.f64 z y) |
(log.f64 (*.f64 (exp.f64 (*.f64 z (/.f64 y z))) (exp.f64 z))) |
(+.f64 y z) |
(+.f64 z y) |
(log.f64 (*.f64 (exp.f64 (*.f64 z (/.f64 y z))) (+.f64 #s(literal 1 binary64) (expm1.f64 z)))) |
(+.f64 y z) |
(+.f64 z y) |
(cbrt.f64 (pow.f64 (fma.f64 z (/.f64 y z) z) #s(literal 3 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(expm1.f64 (log1p.f64 (fma.f64 z (/.f64 y z) z))) |
(+.f64 y z) |
(+.f64 z y) |
(log1p.f64 (expm1.f64 (fma.f64 z (/.f64 y z) z))) |
(+.f64 y z) |
(+.f64 z y) |
(exp.f64 (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z))) |
(+.f64 y z) |
(+.f64 z y) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 3 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (+.f64 (log1p.f64 (/.f64 y z)) (log.f64 z))) #s(literal 1/3 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (/.f64 y z) z))) #s(literal 2 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 z #s(literal 1 binary64) (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 z #s(literal 1 binary64) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 z (/.f64 y z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 #s(literal 1 binary64) z (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 #s(literal 1 binary64) z (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 #s(literal 1 binary64) (*.f64 z (/.f64 y z)) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 y (*.f64 (/.f64 #s(literal 1 binary64) z) z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (/.f64 y z) z z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 y z)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (/.f64 y z)) z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (cbrt.f64 z) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) #s(literal 1 binary64)) (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) #s(literal 1 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (pow.f64 (cbrt.f64 z) #s(literal 2 binary64)) (*.f64 (cbrt.f64 z) (/.f64 y z)) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 (/.f64 y z)) (*.f64 (sqrt.f64 (/.f64 y z)) z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) #s(literal 1 binary64)) (*.f64 z (/.f64 y z))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) #s(literal 1 binary64)) (*.f64 (*.f64 z (/.f64 y z)) #s(literal 1 binary64))) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (/.f64 y z)) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 (cbrt.f64 (*.f64 z (/.f64 y z))) (cbrt.f64 (*.f64 z (/.f64 y z)))) (cbrt.f64 (*.f64 z (/.f64 y z))) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (sqrt.f64 (*.f64 z (/.f64 y z))) (sqrt.f64 (*.f64 z (/.f64 y z))) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 (sqrt.f64 (/.f64 y z)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (/.f64 y z)) (sqrt.f64 z)) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 y z))) (*.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 y z))) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 z) #s(literal 2 binary64))) (cbrt.f64 z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 (/.f64 y z) (sqrt.f64 z)) (sqrt.f64 z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 z y) (/.f64 #s(literal 1 binary64) z) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (/.f64 y z)) #s(literal 2 binary64))) (cbrt.f64 (/.f64 y z)) z) |
(+.f64 y z) |
(+.f64 z y) |
(fma.f64 (*.f64 z (sqrt.f64 (/.f64 y z))) (sqrt.f64 (/.f64 y z)) z) |
(+.f64 y z) |
(+.f64 z y) |
Compiled 979 to 336 computations (65.7% saved)
6 alts after pruning (0 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 80 | 0 | 80 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 80 | 6 | 86 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.6% | (+.f64 z x) |
| ✓ | 46.6% | (+.f64 y z) |
| ✓ | 55.3% | (+.f64 y x) |
| ✓ | 46.7% | (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
| ✓ | 45.1% | z |
| ✓ | 53.9% | x |
Compiled 72 to 42 computations (41.7% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
(+.f64 y z) |
(+.f64 z x) |
(+.f64 (+.f64 x y) z) |
(*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 y z))) |
(*.f64 z (neg.f64 (-.f64 #s(literal -1 binary64) (/.f64 (+.f64 y x) z)))) |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
5 calls:
| 4.0ms | (+.f64 x y) |
| 3.0ms | x |
| 3.0ms | (+.f64 (+.f64 x y) z) |
| 3.0ms | z |
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (+.f64 x y) z) |
| 100.0% | 1 | (+.f64 x y) |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
(+.f64 y z) |
(+.f64 z x) |
| Outputs |
|---|
(+.f64 z x) |
3 calls:
| 2.0ms | x |
| 2.0ms | z |
| 2.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.6% | 1 | x |
| 98.6% | 1 | y |
| 98.6% | 1 | z |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
(+.f64 y z) |
| Outputs |
|---|
(+.f64 y x) |
(+.f64 y z) |
3 calls:
| 6.0ms | z |
| 3.0ms | x |
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.2% | 2 | x |
| 77.4% | 2 | y |
| 86.5% | 2 | z |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
| Outputs |
|---|
(+.f64 y x) |
z |
1 calls:
| 4.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.9% | 2 | z |
Compiled 4 to 3 computations (25% saved)
| Inputs |
|---|
x |
z |
| Outputs |
|---|
x |
z |
2 calls:
| 2.0ms | z |
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 83.6% | 2 | x |
| 85.2% | 2 | z |
Compiled 8 to 6 computations (25% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
x |
| Outputs |
|---|
x |
3 calls:
| 2.0ms | y |
| 1.0ms | z |
| 1.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 53.9% | 1 | y |
| 53.9% | 1 | x |
| 53.9% | 1 | z |
Compiled 12 to 9 computations (25% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 2.3399074384733767e+61 | 1.6479631349698765e+68 |
| 13.0ms | 143× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 140 to 100 computations (28.6% saved)
ival-add, time spent: 2.0ms, 106.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 2.3399074384733767e+61 | 1.6479631349698765e+68 |
| 14.0ms | 143× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 122 to 91 computations (25.4% saved)
ival-add, time spent: 2.0ms, 107.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 2.3399074384733767e+61 | 1.6479631349698765e+68 |
| 13.0ms | 143× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 104 to 82 computations (21.2% saved)
ival-add, time spent: 2.0ms, 103.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | egg-herbie |
| 8× | +-commutative |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 126 |
| 1 | 31 | 126 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 z x) |
(if (<=.f64 z #s(literal 49999999999999997640261112569083403345625645676430849265210811744256 binary64)) (+.f64 y x) (+.f64 y z)) |
(if (<=.f64 z #s(literal 161999999999999994509517859066486433906252598921758241083134920622080 binary64)) (+.f64 y x) z) |
(if (<=.f64 z #s(literal 96000000000000000737254757859133085030419145527935049278620491055104 binary64)) x z) |
x |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 z x) |
(+.f64 x z) |
(if (<=.f64 z #s(literal 49999999999999997640261112569083403345625645676430849265210811744256 binary64)) (+.f64 y x) (+.f64 y z)) |
(if (<=.f64 z #s(literal 49999999999999997640261112569083403345625645676430849265210811744256 binary64)) (+.f64 x y) (+.f64 y z)) |
(if (<=.f64 z #s(literal 161999999999999994509517859066486433906252598921758241083134920622080 binary64)) (+.f64 y x) z) |
(if (<=.f64 z #s(literal 161999999999999994509517859066486433906252598921758241083134920622080 binary64)) (+.f64 x y) z) |
(if (<=.f64 z #s(literal 96000000000000000737254757859133085030419145527935049278620491055104 binary64)) x z) |
x |
Compiled 51 to 33 computations (35.3% saved)
| 1584× | fma-neg |
| 970× | distribute-lft-in |
| 958× | distribute-rgt-in |
| 798× | fma-define |
| 642× | times-frac |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 280 | 4572 |
| 1 | 638 | 4530 |
| 2 | 1685 | 4463 |
| 3 | 7014 | 4432 |
| 1× | node limit |
Compiled 18 to 10 computations (44.4% saved)
(sort x y z)
Compiled 152 to 82 computations (46.1% saved)
Loading profile data...