Time bar (total: 3.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.1% | 0% | 0% | 0% | 8 |
| 28.1% | 28.1% | 71.8% | 0.1% | 0% | 0% | 0% | 9 |
| 37.6% | 34.3% | 56.9% | 0.1% | 8.6% | 0% | 0% | 10 |
| 44.8% | 40.6% | 49.9% | 0.1% | 9.4% | 0% | 0% | 11 |
| 53.4% | 48% | 41.9% | 0.1% | 9.9% | 0% | 0% | 12 |
Compiled 11 to 8 computations (27.3% saved)
| 973.0ms | 8254× | body | 256 | valid |
| 161.0ms | 1163× | body | 256 | infinite |
| 0.0ms | 1× | body | 1024 | valid |
| 0.0ms | 1× | body | 512 | valid |
| 2× | egg-herbie |
| 522× | fma-def_binary64 |
| 97× | distribute-rgt-in_binary64 |
| 78× | associate-+l+_binary64 |
| 66× | associate-+r+_binary64 |
| 61× | distribute-lft-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 40 |
| 1 | 53 | 40 |
| 2 | 137 | 40 |
| 3 | 336 | 40 |
| 4 | 706 | 40 |
| 5 | 1090 | 40 |
| 6 | 1156 | 40 |
| 7 | 1162 | 40 |
| 0 | 3 | 3 |
| 1 | 3 | 3 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 z y) (+.f64 x 1)) |
(*.f64 (+.f64 x z) (+.f64 y 1)) |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(*.f64 (+.f64 z 1) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 z 1) (+.f64 x y)) |
(*.f64 (+.f64 z y) (+.f64 x 1)) |
(*.f64 (+.f64 y z) (+.f64 x 1)) |
(*.f64 (+.f64 x z) (+.f64 y 1)) |
(sort x y)
Compiled 13 to 10 computations (23.1% saved)
| 1× | egg-herbie |
| 186× | fma-def_binary64 |
| 32× | distribute-rgt-in_binary64 |
| 26× | associate-+l+_binary64 |
| 22× | associate-+r+_binary64 |
| 20× | distribute-lft-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 19 | 10 |
| 2 | 51 | 10 |
| 3 | 120 | 10 |
| 4 | 246 | 10 |
| 5 | 386 | 10 |
| 6 | 408 | 10 |
| 7 | 410 | 10 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
Compiled 10 to 7 computations (30% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
Compiled 10 to 7 computations (30% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
Compiled 20 to 10 computations (50% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 1.0ms | x | @ | inf | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | y | @ | inf | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 1× | batch-egg-rewrite |
| 676× | prod-diff_binary64 |
| 600× | unpow-prod-down_binary64 |
| 408× | log-prod_binary64 |
| 324× | fma-def_binary64 |
| 231× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 176 | 10 |
| 2 | 2546 | 10 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 x y) z) 1) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z 1)) (*.f64 y (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z 1)) (*.f64 x (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 z 1) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 z 1) y) (*.f64 (+.f64 z 1) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 x y) z x) y)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 x y) z y) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 1 (pow.f64 z 3))) (*.f64 (-.f64 x y) (-.f64 (fma.f64 z z 1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 z z -1)) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z -1)) (*.f64 (-.f64 x y) (-.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 (fma.f64 z z 1) z) (fma.f64 y (-.f64 y x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 z z -1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 z 1) (fma.f64 y (-.f64 y x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 (fma.f64 z z 1) z) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 z z -1) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z 1) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 z 1)) (fma.f64 y (-.f64 y x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 z 1)) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 x y)) (-.f64 (fma.f64 z z 1) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 z z -1) (+.f64 x y)) (-.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (+.f64 1 (pow.f64 z 3))) (-.f64 (fma.f64 z z 1) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (fma.f64 z z -1)) (-.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z 1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x y)) (exp.f64 (*.f64 (+.f64 x y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (exp.f64 (*.f64 (+.f64 x y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 x y) z)) (+.f64 1 (expm1.f64 (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 z 1) (*.f64 y (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (+.f64 z 1) (*.f64 x (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x y) z (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x y) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z 1) x (*.f64 (+.f64 z 1) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z 1) y (*.f64 (+.f64 z 1) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y)))))) |
| 1× | egg-herbie |
| 713× | fma-def_binary64 |
| 650× | div-sub_binary64 |
| 497× | fma-neg_binary64 |
| 316× | associate-/l*_binary64 |
| 282× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 203 | 1545 |
| 1 | 600 | 1507 |
| 2 | 1883 | 1392 |
| 3 | 5911 | 1392 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
(+.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1))) |
(+.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) |
(+.f64 (*.f64 (*.f64 (+.f64 x y) z) 1) (+.f64 x y)) |
(+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y (+.f64 z 1))) |
(+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x (+.f64 z 1))) |
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 z 1) y)) |
(+.f64 (*.f64 (+.f64 z 1) y) (*.f64 (+.f64 z 1) x)) |
(+.f64 (fma.f64 (+.f64 x y) z x) y) |
(+.f64 (fma.f64 (+.f64 x y) z y) x) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) 1) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z))) |
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 1 (pow.f64 z 3))) (*.f64 (-.f64 x y) (-.f64 (fma.f64 z z 1) z))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 z z -1)) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z 1))) |
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z -1)) (*.f64 (-.f64 x y) (-.f64 z 1))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 (fma.f64 z z 1) z) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 z 1) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 (fma.f64 z z 1) z) (-.f64 x y))) |
(/.f64 (*.f64 (fma.f64 z z -1) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z 1) (-.f64 x y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 z 1)) (fma.f64 y (-.f64 y x) (*.f64 x x))) |
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 z 1)) (-.f64 x y)) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 x y)) (-.f64 (fma.f64 z z 1) z)) |
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 x y)) (-.f64 z 1)) |
(/.f64 (*.f64 (+.f64 x y) (+.f64 1 (pow.f64 z 3))) (-.f64 (fma.f64 z z 1) z)) |
(/.f64 (*.f64 (+.f64 x y) (fma.f64 z z -1)) (-.f64 z 1)) |
(/.f64 (*.f64 (+.f64 z 1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x))) |
(/.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y)) |
(pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3) 1/3) |
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 3) |
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 2) |
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (exp.f64 (*.f64 (+.f64 x y) z)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (exp.f64 (*.f64 (+.f64 x y) z)))) |
(log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 x y) z)) (+.f64 1 (expm1.f64 (+.f64 x y))))) |
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) |
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y)))) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))) 1)) |
(fma.f64 x (+.f64 z 1) (*.f64 y (+.f64 z 1))) |
(fma.f64 y (+.f64 z 1) (*.f64 x (+.f64 z 1))) |
(fma.f64 (+.f64 x y) z (+.f64 x y)) |
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z)) |
(fma.f64 z (+.f64 x y) (+.f64 x y)) |
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y)) |
(fma.f64 (+.f64 z 1) x (*.f64 (+.f64 z 1) y)) |
(fma.f64 (+.f64 z 1) y (*.f64 (+.f64 z 1) x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 (+.f64 x y) z)) |
(fma.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (+.f64 x y)) |
(fma.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (+.f64 x y)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y)) |
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y)) |
| Outputs |
|---|
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 1 z)) |
(fma.f64 z x x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 1 z)) |
(fma.f64 z x x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 1 z)) |
(fma.f64 z x x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (*.f64 (+.f64 x y) z) 1) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 z 1) y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 z 1) y) (*.f64 (+.f64 z 1) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (fma.f64 (+.f64 x y) z x) y) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (fma.f64 (+.f64 x y) z y) x) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))))) |
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z))))) |
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z))))) |
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z)))) 3) |
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 z)) (+.f64 y x)))) 3) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) 1) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z))) |
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (/.f64 (-.f64 (fma.f64 z z 1) z) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 1 (pow.f64 z 3))) (*.f64 (-.f64 x y) (-.f64 (fma.f64 z z 1) z))) |
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))) |
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 z z -1)) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z 1))) |
(/.f64 (fma.f64 z z -1) (/.f64 (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 z -1)) (+.f64 (pow.f64 x 3) (pow.f64 y 3)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (fma.f64 z z -1) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 z -1))) |
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z -1)) (*.f64 (-.f64 x y) (-.f64 z 1))) |
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 (fma.f64 z z 1) z) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z))) |
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (/.f64 (-.f64 (fma.f64 z z 1) z) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 z 1) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (fma.f64 z z -1) (/.f64 (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 z -1)) (+.f64 (pow.f64 x 3) (pow.f64 y 3)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (fma.f64 z z -1) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 z -1))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 (fma.f64 z z 1) z) (-.f64 x y))) |
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))) |
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z))) |
(/.f64 (*.f64 (fma.f64 z z -1) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z 1) (-.f64 x y))) |
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 3) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 2) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (+.f64 y x) (*.f64 z (+.f64 y x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 3) (pow.f64 (+.f64 y x) 3)) (-.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 2) (pow.f64 (+.f64 y x) 2)) (*.f64 z (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (pow.f64 (+.f64 y x) 3)) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (pow.f64 (+.f64 y x) 2) (-.f64 z (*.f64 z z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 y x)) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x))) |
(/.f64 (*.f64 (pow.f64 (+.f64 y x) 2) (fma.f64 z z -1)) (*.f64 (+.f64 y x) (+.f64 z -1))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 z 1)) (fma.f64 y (-.f64 y x) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 1 z))) |
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 1 z)) |
(*.f64 (+.f64 1 z) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 z 1)) (-.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 x y)) (-.f64 (fma.f64 z z 1) z)) |
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))) |
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z))) |
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 x y)) (-.f64 z 1)) |
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1))) |
(/.f64 (*.f64 (+.f64 x y) (+.f64 1 (pow.f64 z 3))) (-.f64 (fma.f64 z z 1) z)) |
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))) |
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z))) |
(/.f64 (*.f64 (+.f64 x y) (fma.f64 z z -1)) (-.f64 z 1)) |
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y))) |
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1))) |
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1))) |
(/.f64 (*.f64 (+.f64 z 1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 1 z))) |
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 1 z)) |
(*.f64 (+.f64 1 z) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(/.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2) 1/2) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3) 1/3) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 3) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 2) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (exp.f64 (*.f64 (+.f64 x y) z)))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (exp.f64 (*.f64 (+.f64 x y) z)))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 x y) z)) (+.f64 1 (expm1.f64 (+.f64 x y))))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y)))) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 y x)))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))) 1)) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 y x)))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(fma.f64 x (+.f64 z 1) (*.f64 y (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 y (+.f64 z 1) (*.f64 x (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (+.f64 x y) z (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 z (+.f64 x y) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (+.f64 z 1) x (*.f64 (+.f64 z 1) y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (+.f64 z 1) y (*.f64 (+.f64 z 1) x)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 (+.f64 x y) z)) |
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 z (+.f64 y x))) |
(+.f64 (*.f64 z (+.f64 y x)) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(fma.f64 z (+.f64 y x) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(fma.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
Compiled 1828 to 759 computations (58.5% saved)
5 alts after pruning (5 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 113 | 5 | 118 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 114 | 5 | 119 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| ▶ | 26.4b | (+.f64 y x) |
| ▶ | 37.2b | (*.f64 (+.f64 y x) z) |
| ▶ | 30.1b | (*.f64 (+.f64 1 z) x) |
| ▶ | 33.4b | (*.f64 y (+.f64 1 z)) |
Compiled 84 to 54 computations (35.7% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
Compiled 23 to 6 computations (73.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| 0.0ms | z | @ | -inf | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| 0.0ms | x | @ | -inf | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| 0.0ms | y | @ | -inf | (+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| 1× | batch-egg-rewrite |
| 493× | fma-def_binary64 |
| 412× | log-prod_binary64 |
| 403× | prod-exp_binary64 |
| 339× | pow-prod-down_binary64 |
| 300× | exp-prod_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 160 | 10 |
| 2 | 2479 | 10 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (+.f64 x y) (-.f64 1 z))) (/.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (*.f64 (+.f64 x y) (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (+.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 x y) (+.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z 1) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (pow.f64 (+.f64 x y) 2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (*.f64 (+.f64 x y) (-.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 x y) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 x y) z y) 2) (*.f64 x (fma.f64 (+.f64 x y) z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 x y) z y) 2)) (-.f64 x (fma.f64 (+.f64 x y) z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 z 1)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 (+.f64 x y) z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (pow.f64 (exp.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (exp.f64 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x y)) (+.f64 1 (expm1.f64 (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (+.f64 1 (expm1.f64 (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 x y) z y)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (fma.f64 (+.f64 x y) z y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (fma.f64 (+.f64 x y) z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (+.f64 x (*.f64 (+.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x y) z (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x y) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (fma.f64 (+.f64 x y) z y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (fma.f64 (+.f64 x y) z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (+.f64 x (*.f64 (+.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (+.f64 x y) z y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (+.f64 x (*.f64 (+.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 (+.f64 x y) z y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 (+.f64 x y) z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 (+.f64 x y) z y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 (+.f64 x y) z y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 x y) z y)) 2) (cbrt.f64 (fma.f64 (+.f64 x y) z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (+.f64 x y) z y)) (sqrt.f64 (fma.f64 (+.f64 x y) z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y)))))) |
| 1× | egg-herbie |
| 687× | distribute-rgt-in_binary64 |
| 657× | distribute-lft-in_binary64 |
| 589× | fma-def_binary64 |
| 456× | times-frac_binary64 |
| 237× | unswap-sqr_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 249 | 1989 |
| 1 | 718 | 1752 |
| 2 | 1868 | 1665 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) 1) |
(-.f64 (/.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (+.f64 x y) (-.f64 1 z))) (/.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (*.f64 (+.f64 x y) (-.f64 1 z)))) |
(*.f64 (+.f64 x y) (+.f64 1 z)) |
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1) |
(*.f64 1 (*.f64 (+.f64 x y) (+.f64 1 z))) |
(*.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(*.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))) |
(*.f64 (+.f64 z 1) (+.f64 x y)) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)))) |
(/.f64 1 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (pow.f64 (+.f64 x y) 2) z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (*.f64 (+.f64 x y) (-.f64 1 z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 1 z)))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 x y) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 x y) z y) 2) (*.f64 x (fma.f64 (+.f64 x y) z y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 x y) z y) 2)) (-.f64 x (fma.f64 (+.f64 x y) z y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))) |
(pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3) 1/3) |
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 3) |
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) |
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) |
(pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) -1) |
(pow.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) |
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 z 1)) (+.f64 x y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 (+.f64 x y) z y)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (pow.f64 (exp.f64 z) (+.f64 x y)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (exp.f64 (+.f64 x y)))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x y)) (+.f64 1 (expm1.f64 (+.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (+.f64 1 (expm1.f64 (+.f64 x y))))) |
(log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 x y) z y)) (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(exp.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1)) |
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 1/3)) |
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 3)) |
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) |
(exp.f64 (*.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1) 1)) |
(fma.f64 x 1 (fma.f64 (+.f64 x y) z y)) |
(fma.f64 x 1 (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 y 1 (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 (+.f64 x y) z (+.f64 x y)) |
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z)) |
(fma.f64 z (+.f64 x y) (+.f64 x y)) |
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y)) |
(fma.f64 1 x (fma.f64 (+.f64 x y) z y)) |
(fma.f64 1 x (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 1 y (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y)) |
(fma.f64 1 (fma.f64 (+.f64 x y) z y) x) |
(fma.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 (+.f64 x y) z y)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 (+.f64 x y) z y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 (+.f64 x y) z y)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 (+.f64 x y) z)) |
(fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 x y) z y)) 2) (cbrt.f64 (fma.f64 (+.f64 x y) z y)) x) |
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 x y) z y)) (sqrt.f64 (fma.f64 (+.f64 x y) z y)) x) |
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y)) |
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y)) |
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y)) |
| Outputs |
|---|
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (+.f64 1 z) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(fma.f64 z x x) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(fma.f64 y z y) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) 1) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(-.f64 (/.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (+.f64 x y) (-.f64 1 z))) (/.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (*.f64 (+.f64 x y) (-.f64 1 z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(*.f64 (+.f64 x y) (+.f64 1 z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 1 (*.f64 (+.f64 x y) (+.f64 1 z))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(*.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(*.f64 (+.f64 z 1) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(/.f64 1 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (pow.f64 (+.f64 x y) 2) z)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (*.f64 (+.f64 x y) (-.f64 1 z))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 1 z)))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 x y) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 x y) z y) 2) (*.f64 x (fma.f64 (+.f64 x y) z y))))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 y x) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 y x) z y) 2) (*.f64 x (fma.f64 (+.f64 y x) z y))))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y x) y) 3)) (fma.f64 x x (*.f64 (fma.f64 z (+.f64 y x) y) (-.f64 (fma.f64 z (+.f64 y x) y) x)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 x y) z y) 2)) (-.f64 x (fma.f64 (+.f64 x y) z y))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 y x) z y) 2)) (-.f64 x (fma.f64 (+.f64 y x) z y))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y x) y) 2)) (-.f64 x (fma.f64 z (+.f64 y x) y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2) 1/2) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3) 1/3) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 3) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) -1) |
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1)))) |
(pow.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) -1) |
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1)) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))) |
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 z 1)) (+.f64 x y))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 (+.f64 x y) z y)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (pow.f64 (exp.f64 z) (+.f64 x y)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (exp.f64 (+.f64 x y)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x y)) (+.f64 1 (expm1.f64 (+.f64 x y))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (+.f64 1 (expm1.f64 (+.f64 x y))))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 x y) z y)) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(exp.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(exp.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1)) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 1/3)) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 3)) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(exp.f64 (*.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1) 1)) |
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) |
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z))) |
(fma.f64 x 1 (fma.f64 (+.f64 x y) z y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 x 1 (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 y 1 (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (+.f64 x y) z (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 z (+.f64 x y) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 1 x (fma.f64 (+.f64 x y) z y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 1 x (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 1 y (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 1 (fma.f64 (+.f64 x y) z y) x) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 (+.f64 x y) z y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 (+.f64 x y) z y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z))) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 (+.f64 x y) z y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 (+.f64 x y) z)) |
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 z (+.f64 y x))) |
(fma.f64 z (+.f64 y x) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x)))) |
(fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 x y) z y)) 2) (cbrt.f64 (fma.f64 (+.f64 x y) z y)) x) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 x y) z y)) (sqrt.f64 (fma.f64 (+.f64 x y) z y)) x) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y)) |
(fma.f64 y z (+.f64 y (fma.f64 z x x))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
Compiled 8 to 4 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 y (+.f64 1 z)) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 y (+.f64 1 z)) |
| 0.0ms | y | @ | inf | (*.f64 y (+.f64 1 z)) |
| 0.0ms | z | @ | -inf | (*.f64 y (+.f64 1 z)) |
| 0.0ms | y | @ | -inf | (*.f64 y (+.f64 1 z)) |
| 0.0ms | z | @ | inf | (*.f64 y (+.f64 1 z)) |
| 1× | batch-egg-rewrite |
| 643× | pow1_binary64 |
| 598× | add-log-exp_binary64 |
| 598× | log1p-expm1-u_binary64 |
| 598× | expm1-log1p-u_binary64 |
| 585× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 126 | 7 |
| 2 | 1666 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (+.f64 1 z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 y (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 y (*.f64 (*.f64 y z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) y)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 y (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 y z) (*.f64 y z)) (*.f64 y (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 y z) (*.f64 y z))) (-.f64 y (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) y) (+.f64 1 (fma.f64 z z (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 z z)) y) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 1 (pow.f64 z 3))) (+.f64 1 (fma.f64 z z (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 1 (*.f64 z z))) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 y (*.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 y (*.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (+.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 1 z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 1 z) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 z) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z)))))) |
| 1× | egg-herbie |
| 511× | associate-/l*_binary64 |
| 453× | associate-*l*_binary64 |
| 397× | associate-*r*_binary64 |
| 392× | associate-/r*_binary64 |
| 297× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 250 |
| 1 | 210 | 248 |
| 2 | 676 | 239 |
| 3 | 3612 | 237 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) y) |
(*.f64 y z) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) y) |
(*.f64 y z) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) y) |
(+.f64 y (*.f64 y z)) |
(+.f64 y (*.f64 (*.f64 y z) 1)) |
(+.f64 (*.f64 y z) y) |
(-.f64 (+.f64 1 (+.f64 y (*.f64 y z))) 1) |
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 y z) (*.f64 y z)) (*.f64 y (*.f64 y z))))) |
(/.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 y z) (*.f64 y z))) (-.f64 y (*.f64 y z))) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) y) (+.f64 1 (fma.f64 z z (neg.f64 z)))) |
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) y) (-.f64 1 z)) |
(/.f64 (*.f64 y (+.f64 1 (pow.f64 z 3))) (+.f64 1 (fma.f64 z z (neg.f64 z)))) |
(/.f64 (*.f64 y (-.f64 1 (*.f64 z z))) (-.f64 1 z)) |
(pow.f64 (+.f64 y (*.f64 y z)) 1) |
(pow.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3) 1/3) |
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y z))) 3) |
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y z))) 2) |
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (+.f64 1 z))) |
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 1 z) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 z) 3) (pow.f64 y 3))) |
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y z)))) |
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y z)))) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 y))) |
(fma.f64 y 1 (*.f64 y z)) |
(fma.f64 1 y (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z)) |
| Outputs |
|---|
y |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(*.f64 y z) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(*.f64 y z) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(+.f64 y (*.f64 y z)) |
(fma.f64 y z y) |
(+.f64 y (*.f64 (*.f64 y z) 1)) |
(fma.f64 y z y) |
(+.f64 (*.f64 y z) y) |
(fma.f64 y z y) |
(-.f64 (+.f64 1 (+.f64 y (*.f64 y z))) 1) |
(fma.f64 y z y) |
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 y z) (*.f64 y z)) (*.f64 y (*.f64 y z))))) |
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (fma.f64 y y (*.f64 (*.f64 y z) (-.f64 (*.f64 y z) y)))) |
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (fma.f64 y y (*.f64 (*.f64 y y) (-.f64 (*.f64 z z) z)))) |
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (*.f64 y (+.f64 y (*.f64 y (-.f64 (*.f64 z z) z))))) |
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (*.f64 (*.f64 y y) (fma.f64 z z (-.f64 1 z)))) |
(/.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 y z) (*.f64 y z))) (-.f64 y (*.f64 y z))) |
(fma.f64 y z y) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) y) (+.f64 1 (fma.f64 z z (neg.f64 z)))) |
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (fma.f64 z z (neg.f64 z))) y)) |
(*.f64 (/.f64 y (+.f64 1 (-.f64 (*.f64 z z) z))) (+.f64 1 (pow.f64 z 3))) |
(/.f64 (fma.f64 y (pow.f64 z 3) y) (fma.f64 z z (-.f64 1 z))) |
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) y) (-.f64 1 z)) |
(fma.f64 y z y) |
(/.f64 (*.f64 y (+.f64 1 (pow.f64 z 3))) (+.f64 1 (fma.f64 z z (neg.f64 z)))) |
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (fma.f64 z z (neg.f64 z))) y)) |
(*.f64 (/.f64 y (+.f64 1 (-.f64 (*.f64 z z) z))) (+.f64 1 (pow.f64 z 3))) |
(/.f64 (fma.f64 y (pow.f64 z 3) y) (fma.f64 z z (-.f64 1 z))) |
(/.f64 (*.f64 y (-.f64 1 (*.f64 z z))) (-.f64 1 z)) |
(fma.f64 y z y) |
(pow.f64 (+.f64 y (*.f64 y z)) 1) |
(fma.f64 y z y) |
(pow.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3) 1/3) |
(fma.f64 y z y) |
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y z))) 3) |
(fma.f64 y z y) |
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y z))) 2) |
(fma.f64 y z y) |
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 2)) |
(fma.f64 y z y) |
(log.f64 (pow.f64 (exp.f64 y) (+.f64 1 z))) |
(fma.f64 y z y) |
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3)) |
(fma.f64 y z y) |
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 1 z) 3))) |
(fma.f64 y z y) |
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 z) 3) (pow.f64 y 3))) |
(fma.f64 y z y) |
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y z)))) |
(fma.f64 y z y) |
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y z)))) |
(fma.f64 y z y) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 y))) |
(*.f64 y (exp.f64 (log1p.f64 z))) |
(fma.f64 y 1 (*.f64 y z)) |
(fma.f64 y z y) |
(fma.f64 1 y (*.f64 y z)) |
(fma.f64 y z y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z)) |
(fma.f64 y z y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z)) |
(fma.f64 y z y) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 1 z) x) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 1 z) x) |
| 0.0ms | z | @ | 0 | (*.f64 (+.f64 1 z) x) |
| 0.0ms | x | @ | inf | (*.f64 (+.f64 1 z) x) |
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 1 z) x) |
| 0.0ms | z | @ | -inf | (*.f64 (+.f64 1 z) x) |
| 1× | batch-egg-rewrite |
| 604× | pow1_binary64 |
| 560× | add-log-exp_binary64 |
| 560× | log1p-expm1-u_binary64 |
| 560× | expm1-log1p-u_binary64 |
| 549× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 121 | 7 |
| 2 | 1520 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 z) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 x (*.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) x) (+.f64 1 (-.f64 (*.f64 z z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 z z)) x) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 1 (pow.f64 z 3))) (+.f64 1 (-.f64 (*.f64 z z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1 (*.f64 z z))) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 x (*.f64 z x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 x (*.f64 z x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 x (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 x (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 z) (log.f64 x))))))) |
| 1× | egg-herbie |
| 675× | times-frac_binary64 |
| 617× | div-sub_binary64 |
| 437× | fma-def_binary64 |
| 293× | *-commutative_binary64 |
| 265× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 210 |
| 1 | 131 | 208 |
| 2 | 377 | 200 |
| 3 | 1943 | 200 |
| 4 | 3783 | 200 |
| 5 | 6215 | 200 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 z x)) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 x z) x) |
(-.f64 (+.f64 1 (+.f64 x (*.f64 z x))) 1) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) x) (+.f64 1 (-.f64 (*.f64 z z) z))) |
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) x) (-.f64 1 z)) |
(/.f64 (*.f64 x (+.f64 1 (pow.f64 z 3))) (+.f64 1 (-.f64 (*.f64 z z) z))) |
(/.f64 (*.f64 x (-.f64 1 (*.f64 z z))) (-.f64 1 z)) |
(pow.f64 (+.f64 x (*.f64 z x)) 1) |
(pow.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3) 1/3) |
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 z x))) 3) |
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 z x))) 2) |
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1 z))) |
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 z x)))) |
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 z x)))) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 x))) |
| Outputs |
|---|
x |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 x (*.f64 z x)) |
(fma.f64 x z x) |
(+.f64 x (*.f64 x z)) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 x z x) |
(+.f64 (*.f64 x z) x) |
(fma.f64 x z x) |
(-.f64 (+.f64 1 (+.f64 x (*.f64 z x))) 1) |
(fma.f64 x z x) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) x) (+.f64 1 (-.f64 (*.f64 z z) z))) |
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (-.f64 (*.f64 z z) z)) x)) |
(*.f64 (/.f64 x (+.f64 (*.f64 z z) (-.f64 1 z))) (+.f64 1 (pow.f64 z 3))) |
(/.f64 (fma.f64 x (pow.f64 z 3) x) (-.f64 (fma.f64 z z 1) z)) |
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) x) (-.f64 1 z)) |
(/.f64 (-.f64 1 (*.f64 z z)) (/.f64 (-.f64 1 z) x)) |
(*.f64 (/.f64 x (-.f64 1 z)) (-.f64 1 (*.f64 z z))) |
(*.f64 x (/.f64 (-.f64 1 (*.f64 z z)) (-.f64 1 z))) |
(/.f64 (*.f64 x (+.f64 1 (pow.f64 z 3))) (+.f64 1 (-.f64 (*.f64 z z) z))) |
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (-.f64 (*.f64 z z) z)) x)) |
(*.f64 (/.f64 x (+.f64 (*.f64 z z) (-.f64 1 z))) (+.f64 1 (pow.f64 z 3))) |
(/.f64 (fma.f64 x (pow.f64 z 3) x) (-.f64 (fma.f64 z z 1) z)) |
(/.f64 (*.f64 x (-.f64 1 (*.f64 z z))) (-.f64 1 z)) |
(/.f64 (-.f64 1 (*.f64 z z)) (/.f64 (-.f64 1 z) x)) |
(*.f64 (/.f64 x (-.f64 1 z)) (-.f64 1 (*.f64 z z))) |
(*.f64 x (/.f64 (-.f64 1 (*.f64 z z)) (-.f64 1 z))) |
(pow.f64 (+.f64 x (*.f64 z x)) 1) |
(fma.f64 x z x) |
(pow.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3) 1/3) |
(fma.f64 x z x) |
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 z x))) 3) |
(fma.f64 x z x) |
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 z x))) 2) |
(fma.f64 x z x) |
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 2)) |
(fma.f64 x z x) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1 z))) |
(fma.f64 x z x) |
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3)) |
(fma.f64 x z x) |
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 z x)))) |
(fma.f64 x z x) |
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 z x)))) |
(fma.f64 x z x) |
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 x))) |
(*.f64 x (exp.f64 (log1p.f64 z))) |
Compiled 14 to 5 computations (64.3% saved)
Compiled 2520 to 951 computations (62.3% saved)
10 alts after pruning (6 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 186 | 6 | 192 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 3 | 4 |
| Total | 187 | 10 | 197 |
| Status | Error | Program |
|---|---|---|
| ▶ | 30.1b | (+.f64 (*.f64 z x) x) |
| ▶ | 33.3b | (+.f64 (*.f64 y z) y) |
| ✓ | 26.4b | (+.f64 y x) |
| ✓ | 37.2b | (*.f64 (+.f64 y x) z) |
| ✓ | 30.1b | (*.f64 (+.f64 1 z) x) |
| ▶ | 48.6b | (*.f64 z x) |
| ✓ | 33.4b | (*.f64 y (+.f64 1 z)) |
| ▶ | 51.4b | (*.f64 y z) |
| 44.5b | y | |
| 44.8b | x |
Compiled 66 to 45 computations (31.8% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 8 to 4 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y z) y) |
Compiled 13 to 5 computations (61.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (+.f64 (*.f64 y z) y) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y z) y) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y z) y) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 y z) y) |
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 y z) y) |
| 1× | batch-egg-rewrite |
| 618× | pow1_binary64 |
| 575× | add-log-exp_binary64 |
| 575× | log1p-expm1-u_binary64 |
| 575× | expm1-log1p-u_binary64 |
| 562× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 5 |
| 1 | 110 | 5 |
| 2 | 1565 | 5 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y z) y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y z y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y z y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y z y)) (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2) (cbrt.f64 (fma.f64 y z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y z y)) (sqrt.f64 (fma.f64 y z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y z) y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (-.f64 (*.f64 y z) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) 2)) (-.f64 y (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y z y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y z y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y z y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y z y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y z y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y z y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y z y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y z y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y z y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y z) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) y))))) |
| 1× | egg-herbie |
| 540× | associate-*l*_binary64 |
| 491× | div-sub_binary64 |
| 467× | associate-*r*_binary64 |
| 299× | log-prod_binary64 |
| 194× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 93 | 509 |
| 1 | 237 | 394 |
| 2 | 747 | 394 |
| 3 | 5001 | 394 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
y |
(*.f64 y z) |
(*.f64 y z) |
(-.f64 (+.f64 1 (fma.f64 y z y)) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y))) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 z 1)) |
(*.f64 (fma.f64 y z y) 1) |
(*.f64 1 (fma.f64 y z y)) |
(*.f64 (cbrt.f64 (fma.f64 y z y)) (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2) (cbrt.f64 (fma.f64 y z y))) |
(*.f64 (sqrt.f64 (fma.f64 y z y)) (sqrt.f64 (fma.f64 y z y))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y z) y))) |
(*.f64 (+.f64 z 1) y) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y z) y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (*.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (-.f64 (*.f64 y z) y)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) 2)) (-.f64 y (*.f64 y z))) |
(pow.f64 (fma.f64 y z y) 1) |
(pow.f64 (pow.f64 (fma.f64 y z y) 3) 1/3) |
(pow.f64 (cbrt.f64 (fma.f64 y z y)) 3) |
(pow.f64 (sqrt.f64 (fma.f64 y z y)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y z y) 2)) |
(log.f64 (exp.f64 (fma.f64 y z y))) |
(cbrt.f64 (pow.f64 (fma.f64 y z y) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y z y))) |
(log1p.f64 (expm1.f64 (fma.f64 y z y))) |
(exp.f64 (log.f64 (fma.f64 y z y))) |
(fma.f64 y z y) |
(fma.f64 z y y) |
(fma.f64 1 y (*.f64 y z)) |
(fma.f64 1 (*.f64 y z) y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z)) |
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) y) |
| Outputs |
|---|
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
y |
(*.f64 y z) |
(*.f64 y z) |
(-.f64 (+.f64 1 (fma.f64 y z y)) 1) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(-.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 y (+.f64 z 1)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 (fma.f64 y z y) 1) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 1 (fma.f64 y z y)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 (cbrt.f64 (fma.f64 y z y)) (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2) (cbrt.f64 (fma.f64 y z y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 (sqrt.f64 (fma.f64 y z y)) (sqrt.f64 (fma.f64 y z y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y z) y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(*.f64 (+.f64 z 1) y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1)))))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y z) y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (*.f64 y z))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (-.f64 (*.f64 y z) y)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) 2)) (-.f64 y (*.f64 y z))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(pow.f64 (fma.f64 y z y) 1) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(pow.f64 (pow.f64 (fma.f64 y z y) 3) 1/3) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(pow.f64 (cbrt.f64 (fma.f64 y z y)) 3) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(pow.f64 (sqrt.f64 (fma.f64 y z y)) 2) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(sqrt.f64 (pow.f64 (fma.f64 y z y) 2)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(log.f64 (exp.f64 (fma.f64 y z y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(cbrt.f64 (pow.f64 (fma.f64 y z y) 3)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(expm1.f64 (log1p.f64 (fma.f64 y z y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(log1p.f64 (expm1.f64 (fma.f64 y z y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(exp.f64 (log.f64 (fma.f64 y z y))) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 y z y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 z y y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 1 y (*.f64 y z)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 1 (*.f64 y z) y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z)) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) y) |
(*.f64 y (+.f64 1 z)) |
(fma.f64 y z y) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 z x) x) |
Compiled 13 to 5 computations (61.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 z x) x) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 z x) x) |
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 z x) x) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 z x) x) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 z x) x) |
| 1× | batch-egg-rewrite |
| 633× | pow1_binary64 |
| 590× | add-log-exp_binary64 |
| 589× | log1p-expm1-u_binary64 |
| 589× | expm1-log1p-u_binary64 |
| 577× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 5 |
| 1 | 112 | 5 |
| 2 | 1610 | 5 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 z x) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 z x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (*.f64 z x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z x x)) (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 z x) x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (-.f64 (*.f64 z x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z x) 2)) (-.f64 x (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z x x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z x x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z x x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z x x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) x))))) |
| 1× | egg-herbie |
| 569× | fma-neg_binary64 |
| 534× | div-sub_binary64 |
| 400× | cancel-sign-sub-inv_binary64 |
| 228× | distribute-rgt-neg-in_binary64 |
| 226× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 99 | 523 |
| 1 | 249 | 404 |
| 2 | 799 | 404 |
| 3 | 3670 | 404 |
| 1× | node limit |
| Inputs |
|---|
x |
(*.f64 z x) |
(*.f64 z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(-.f64 (+.f64 1 (fma.f64 z x x)) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (*.f64 z x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z x) x))) |
(*.f64 x (+.f64 z 1)) |
(*.f64 (fma.f64 z x x) 1) |
(*.f64 1 (fma.f64 z x x)) |
(*.f64 (cbrt.f64 (fma.f64 z x x)) (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x))) |
(*.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 z x) x))) |
(*.f64 (+.f64 z 1) x) |
(*.f64 (*.f64 (+.f64 z 1) 1) x) |
(*.f64 (*.f64 (+.f64 z 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 (*.f64 (+.f64 z 1) (sqrt.f64 x)) (sqrt.f64 x)) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 z x) x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (-.f64 (*.f64 z x) x)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z x) x))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z x) 2)) (-.f64 x (*.f64 z x))) |
(pow.f64 (fma.f64 z x x) 1) |
(pow.f64 (pow.f64 (fma.f64 z x x) 3) 1/3) |
(pow.f64 (cbrt.f64 (fma.f64 z x x)) 3) |
(pow.f64 (sqrt.f64 (fma.f64 z x x)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 z x x) 2)) |
(log.f64 (exp.f64 (fma.f64 z x x))) |
(cbrt.f64 (pow.f64 (fma.f64 z x x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 z x x))) |
(log1p.f64 (expm1.f64 (fma.f64 z x x))) |
(exp.f64 (log.f64 (fma.f64 z x x))) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(fma.f64 1 x (*.f64 z x)) |
(fma.f64 1 (*.f64 z x) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z x)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z x)) |
(fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) x) |
| Outputs |
|---|
x |
(*.f64 z x) |
(*.f64 x z) |
(*.f64 z x) |
(*.f64 x z) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(-.f64 (+.f64 1 (fma.f64 z x x)) 1) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(-.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (*.f64 z x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z x) x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (fma.f64 z x x) 1) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 1 (fma.f64 z x x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (cbrt.f64 (fma.f64 z x x)) (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 z x) x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (+.f64 z 1) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (*.f64 (+.f64 z 1) 1) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (*.f64 (+.f64 z 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(*.f64 (*.f64 (+.f64 z 1) (sqrt.f64 x)) (sqrt.f64 x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 z x) x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (-.f64 (*.f64 z x) x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z x) x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z x) 2)) (-.f64 x (*.f64 z x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(pow.f64 (fma.f64 z x x) 1) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(pow.f64 (pow.f64 (fma.f64 z x x) 3) 1/3) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(pow.f64 (cbrt.f64 (fma.f64 z x x)) 3) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(pow.f64 (sqrt.f64 (fma.f64 z x x)) 2) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(sqrt.f64 (pow.f64 (fma.f64 z x x) 2)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(log.f64 (exp.f64 (fma.f64 z x x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(cbrt.f64 (pow.f64 (fma.f64 z x x) 3)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(expm1.f64 (log1p.f64 (fma.f64 z x x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(log1p.f64 (expm1.f64 (fma.f64 z x x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(exp.f64 (log.f64 (fma.f64 z x x))) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 z x x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 x z x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 1 x (*.f64 z x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 1 (*.f64 z x) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z x)) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
(fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) x) |
(*.f64 x (+.f64 z 1)) |
(fma.f64 x z x) |
Compiled 1040 to 409 computations (60.7% saved)
10 alts after pruning (2 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 92 | 0 | 92 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 92 | 10 | 102 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.1b | (+.f64 (*.f64 z x) x) |
| ✓ | 33.3b | (+.f64 (*.f64 y z) y) |
| ✓ | 26.4b | (+.f64 y x) |
| ✓ | 37.2b | (*.f64 (+.f64 y x) z) |
| ✓ | 30.1b | (*.f64 (+.f64 1 z) x) |
| ✓ | 48.6b | (*.f64 z x) |
| ✓ | 33.4b | (*.f64 y (+.f64 1 z)) |
| ✓ | 51.4b | (*.f64 y z) |
| 44.5b | y | |
| 44.8b | x |
Compiled 66 to 45 computations (31.8% saved)
Compiled 3 to 3 computations (0% saved)
10 alts after pruning (2 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 8 | 8 |
| Total | 0 | 10 | 10 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.1b | (+.f64 (*.f64 z x) x) |
| ✓ | 33.3b | (+.f64 (*.f64 y z) y) |
| ✓ | 26.4b | (+.f64 y x) |
| ✓ | 37.2b | (*.f64 (+.f64 y x) z) |
| ✓ | 30.1b | (*.f64 (+.f64 1 z) x) |
| ✓ | 48.6b | (*.f64 z x) |
| ✓ | 33.4b | (*.f64 y (+.f64 1 z)) |
| ✓ | 51.4b | (*.f64 y z) |
| 44.5b | y | |
| 44.8b | x |
Compiled 66 to 45 computations (31.8% saved)
| Inputs |
|---|
x |
y |
(*.f64 y z) |
(*.f64 z x) |
(+.f64 y x) |
(*.f64 y (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 z x) x) |
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z)) |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
6 calls:
| 9.0ms | y |
| 8.0ms | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 7.0ms | (+.f64 x y) |
| 7.0ms | x |
| 7.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0b | 1 | (+.f64 x y) |
| 0.0b | 1 | (+.f64 z 1) |
Compiled 89 to 46 computations (48.3% saved)
| Inputs |
|---|
x |
y |
(*.f64 y z) |
(*.f64 z x) |
(+.f64 y x) |
(*.f64 y (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 z x) x) |
| Outputs |
|---|
(*.f64 (+.f64 y x) z) |
(+.f64 y x) |
(*.f64 (+.f64 y x) z) |
3 calls:
| 60.0ms | y |
| 16.0ms | z |
| 11.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 10.8b | 2 | x |
| 8.3b | 4 | y |
| 1.9b | 3 | z |
Compiled 51 to 24 computations (52.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 0.015513974097246324 | 2.7789794225309206 |
| 13.0ms | -1.1248179653858528 | -0.00014401492082412114 |
| 22.0ms | 240× | body | 256 | valid |
Compiled 256 to 177 computations (30.9% saved)
| Inputs |
|---|
x |
y |
(*.f64 y z) |
(*.f64 z x) |
(+.f64 y x) |
(*.f64 y (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
| Outputs |
|---|
(*.f64 (+.f64 1 z) x) |
(*.f64 y (+.f64 1 z)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 y (+.f64 1 z)) |
(+.f64 y x) |
(*.f64 y (+.f64 1 z)) |
3 calls:
| 54.0ms | z |
| 27.0ms | y |
| 10.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 10.8b | 2 | x |
| 8.2b | 6 | y |
| 10.6b | 5 | z |
Compiled 36 to 21 computations (41.7% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 6.801195008606825e-6 | 0.00014057980497470064 |
| 9.0ms | 4.1189596020798143e-44 | 5.306316795390052e-43 |
| 6.0ms | 5.9024047767280684e-67 | 1.054548860943114e-66 |
| 43.0ms | 1.827123112655113e-97 | 3.161277007708798e-96 |
| 38.0ms | 1.5971372933876384e-157 | 1.5284607231213524e-145 |
| 101.0ms | 544× | body | 256 | valid |
Compiled 602 to 462 computations (23.3% saved)
| Inputs |
|---|
x |
y |
(*.f64 y z) |
(*.f64 z x) |
(+.f64 y x) |
(*.f64 y (+.f64 1 z)) |
| Outputs |
|---|
(*.f64 z x) |
(+.f64 y x) |
(*.f64 z x) |
(*.f64 y z) |
(*.f64 z x) |
3 calls:
| 57.0ms | y |
| 24.0ms | x |
| 21.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 17.4b | 6 | x |
| 15.7b | 8 | y |
| 11.8b | 5 | z |
Compiled 31 to 18 computations (41.9% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 22.0ms | 5.289270144013315e+159 | 3.591173138863249e+165 |
| 24.0ms | 4.4320363809465124e+146 | 2.1692466897318993e+149 |
| 8.0ms | 3439755223.620679 | 10660113568.21096 |
| 30.0ms | -1.1248179653858528 | -0.00014401492082412114 |
| 47.0ms | 480× | body | 256 | valid |
| 14.0ms | 153× | body | 256 | infinite |
Compiled 436 to 312 computations (28.4% saved)
| Inputs |
|---|
x |
y |
(*.f64 y z) |
(*.f64 z x) |
| Outputs |
|---|
(*.f64 z x) |
x |
y |
x |
y |
x |
y |
(*.f64 z x) |
(*.f64 y z) |
(*.f64 z x) |
3 calls:
| 62.0ms | z |
| 32.0ms | y |
| 23.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 26.3b | 7 | x |
| 25.7b | 8 | y |
| 22.8b | 10 | z |
Compiled 23 to 14 computations (39.1% saved)
| 9× | binary-search |
| Time | Left | Right |
|---|---|---|
| 23.0ms | 5.289270144013315e+159 | 3.591173138863249e+165 |
| 20.0ms | 4.4320363809465124e+146 | 2.1692466897318993e+149 |
| 13.0ms | 0.000516556214347477 | 0.015513974097246324 |
| 42.0ms | 1.1988557657053815e-151 | 9.419215475016433e-138 |
| 19.0ms | 2.7947399464356905e-236 | 2.389282788185948e-233 |
| 13.0ms | 4.155574834179416e-265 | 4.413832752335901e-257 |
| 16.0ms | -5.2436942764573425e-269 | -1.4476124134622172e-287 |
| 11.0ms | -1.4636798544442594e-153 | -2.9841309996854016e-155 |
| 13.0ms | -1.1248179653858528 | -0.00014401492082412114 |
| 146.0ms | 1216× | body | 256 | valid |
| 10.0ms | 122× | body | 256 | infinite |
Compiled 874 to 669 computations (23.5% saved)
| Inputs |
|---|
x |
y |
(*.f64 y z) |
| Outputs |
|---|
(*.f64 y z) |
x |
y |
x |
y |
x |
y |
(*.f64 y z) |
3 calls:
| 25.0ms | z |
| 19.0ms | x |
| 10.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 28.9b | 6 | x |
| 30.1b | 3 | y |
| 27.0b | 8 | z |
Compiled 20 to 13 computations (35% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 0.015513974097246324 | 2.7789794225309206 |
| 17.0ms | 1.1988557657053815e-151 | 9.419215475016433e-138 |
| 14.0ms | 2.7947399464356905e-236 | 2.389282788185948e-233 |
| 15.0ms | 4.155574834179416e-265 | 4.413832752335901e-257 |
| 17.0ms | -5.2436942764573425e-269 | -1.4476124134622172e-287 |
| 10.0ms | -1.4636798544442594e-153 | -2.9841309996854016e-155 |
| 14.0ms | -1.1248179653858528 | -0.00014401492082412114 |
| 88.0ms | 944× | body | 256 | valid |
Compiled 636 to 499 computations (21.5% saved)
Total -30.8b remaining (-97.9%)
Threshold costs -30.8b (-97.9%)
| Inputs |
|---|
x |
y |
| Outputs |
|---|
x |
y |
3 calls:
| 17.0ms | z |
| 9.0ms | x |
| 8.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 31.5b | 2 | x |
| 31.9b | 2 | y |
| 37.5b | 6 | z |
Compiled 17 to 12 computations (29.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | -2.4570866279042074e-63 | -4.143740349253071e-64 |
| 15.0ms | 96× | body | 256 | valid |
Compiled 76 to 60 computations (21.1% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
| 2× | +-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 91 | 294 |
| 1 | 101 | 294 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(if (<=.f64 z -1) (*.f64 (+.f64 y x) z) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) z))) |
(if (<=.f64 y 8435463364768493/56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 456932444904477/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 995997234783699/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 7532522082464017/50216813883093446110686315385661331328818843555712276103168) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 4574792530279969/73786976294838206464) (+.f64 y x) (*.f64 y (+.f64 1 z))))))) |
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z 3500000000) (+.f64 y x) (if (<=.f64 z 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224) (*.f64 z x) (if (<=.f64 z 410000000000000010481018551267953466760715402587252716227897983028768860039257825906353184958957598769235298936404135092511082627106841983223505692888682802970624) (*.f64 y z) (*.f64 z x))))) |
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z -6491215370693051/30191699398572330817932436647906151127335369763331523427009650401964993299137190816689013801421270140331747000246110759198164677039398341060491474011461568349195162615808) x (if (<=.f64 z -7796251209119999/155925024182399985285654118206003012974019629721520120429886503315407179052262817639449841054112164147604878659702538690935346717843249504745247796741002454712500443199303568477932634487840858373644793495667494061978969566806317999131941817847503449805243820849668440753309257439870625775616) y (if (<=.f64 z 7616908286351531/138489241570027830339787760577155329299276713436413040296712132107088403511830081562061637127414005863461524601112396740396934118638271997477005289970188832449072118890235188784327954969769132963403984511490113773016980728775065400466052716630386010092873601750856629835792384) x (if (<=.f64 z 3837613125075645/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 439347050248359/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) x (if (<=.f64 z 7839866231326559/1152921504606846976) y (if (<=.f64 z 37000000000000002379981636636512144685831624043141066347348880896803460347869454087840010420741356758931941763343665834541697022885967163606691741696) (*.f64 z x) (if (<=.f64 z 9500000000000000208742055442999787164968879841720770132710515023498130279326649187777292359018407829679912190661939640445928374472227629924430178144465776722051072) (*.f64 y z) (*.f64 z x)))))))))) |
(if (<=.f64 z -1) (*.f64 y z) (if (<=.f64 z -2000200085155417/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) x (if (<=.f64 z -5710144928554687/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) y (if (<=.f64 z 3029452159344359/4327788799063369698118367518036104040602397294887907509272254128346512609744690048814426160231687683233172643784762398137404191207445999921156415311568401014033503715319849649510248592805285405106374515984066055406780647774220793764564147394699562815402300054714269682368512) x (if (<=.f64 z 6644225709086191/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 4750852967037615/28793048285076456849987446449190283896766061557132266451844835664715760516297522370041860391064901485759493828054533728788532902755163518009654497157537048672862208) x (if (<=.f64 z 1) y (*.f64 y z)))))))) |
(if (<=.f64 x -2223208113356471/926336713898529563388567880069503262826159877325124512315660672063305037119488) x y) |
x |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(if (<=.f64 z -1) (*.f64 (+.f64 y x) z) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) z))) |
(if (<=.f64 z -1) (*.f64 z (+.f64 x y)) (if (<=.f64 z 1) (+.f64 x y) (*.f64 z (+.f64 x y)))) |
(if (<=.f64 y 8435463364768493/56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 456932444904477/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 995997234783699/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 7532522082464017/50216813883093446110686315385661331328818843555712276103168) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 4574792530279969/73786976294838206464) (+.f64 y x) (*.f64 y (+.f64 1 z))))))) |
(if (<=.f64 y 8435463364768493/56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184) (*.f64 x (+.f64 z 1)) (if (<=.f64 y 456932444904477/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 y (+.f64 z 1)) (if (<=.f64 y 995997234783699/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (*.f64 x (+.f64 z 1)) (if (<=.f64 y 7532522082464017/50216813883093446110686315385661331328818843555712276103168) (*.f64 y (+.f64 z 1)) (if (<=.f64 y 4574792530279969/73786976294838206464) (+.f64 x y) (*.f64 y (+.f64 z 1))))))) |
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z 3500000000) (+.f64 y x) (if (<=.f64 z 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224) (*.f64 z x) (if (<=.f64 z 410000000000000010481018551267953466760715402587252716227897983028768860039257825906353184958957598769235298936404135092511082627106841983223505692888682802970624) (*.f64 y z) (*.f64 z x))))) |
(if (<=.f64 z -1) (*.f64 x z) (if (<=.f64 z 3500000000) (+.f64 x y) (if (<=.f64 z 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224) (*.f64 x z) (if (<=.f64 z 410000000000000010481018551267953466760715402587252716227897983028768860039257825906353184958957598769235298936404135092511082627106841983223505692888682802970624) (*.f64 y z) (*.f64 x z))))) |
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z -6491215370693051/30191699398572330817932436647906151127335369763331523427009650401964993299137190816689013801421270140331747000246110759198164677039398341060491474011461568349195162615808) x (if (<=.f64 z -7796251209119999/155925024182399985285654118206003012974019629721520120429886503315407179052262817639449841054112164147604878659702538690935346717843249504745247796741002454712500443199303568477932634487840858373644793495667494061978969566806317999131941817847503449805243820849668440753309257439870625775616) y (if (<=.f64 z 7616908286351531/138489241570027830339787760577155329299276713436413040296712132107088403511830081562061637127414005863461524601112396740396934118638271997477005289970188832449072118890235188784327954969769132963403984511490113773016980728775065400466052716630386010092873601750856629835792384) x (if (<=.f64 z 3837613125075645/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 439347050248359/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) x (if (<=.f64 z 7839866231326559/1152921504606846976) y (if (<=.f64 z 37000000000000002379981636636512144685831624043141066347348880896803460347869454087840010420741356758931941763343665834541697022885967163606691741696) (*.f64 z x) (if (<=.f64 z 9500000000000000208742055442999787164968879841720770132710515023498130279326649187777292359018407829679912190661939640445928374472227629924430178144465776722051072) (*.f64 y z) (*.f64 z x)))))))))) |
(if (<=.f64 z -1) (*.f64 x z) (if (<=.f64 z -6491215370693051/30191699398572330817932436647906151127335369763331523427009650401964993299137190816689013801421270140331747000246110759198164677039398341060491474011461568349195162615808) x (if (<=.f64 z -7796251209119999/155925024182399985285654118206003012974019629721520120429886503315407179052262817639449841054112164147604878659702538690935346717843249504745247796741002454712500443199303568477932634487840858373644793495667494061978969566806317999131941817847503449805243820849668440753309257439870625775616) y (if (<=.f64 z 7616908286351531/138489241570027830339787760577155329299276713436413040296712132107088403511830081562061637127414005863461524601112396740396934118638271997477005289970188832449072118890235188784327954969769132963403984511490113773016980728775065400466052716630386010092873601750856629835792384) x (if (<=.f64 z 3837613125075645/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 439347050248359/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) x (if (<=.f64 z 7839866231326559/1152921504606846976) y (if (<=.f64 z 37000000000000002379981636636512144685831624043141066347348880896803460347869454087840010420741356758931941763343665834541697022885967163606691741696) (*.f64 x z) (if (<=.f64 z 9500000000000000208742055442999787164968879841720770132710515023498130279326649187777292359018407829679912190661939640445928374472227629924430178144465776722051072) (*.f64 y z) (*.f64 x z)))))))))) |
(if (<=.f64 z -1) (*.f64 y z) (if (<=.f64 z -2000200085155417/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) x (if (<=.f64 z -5710144928554687/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) y (if (<=.f64 z 3029452159344359/4327788799063369698118367518036104040602397294887907509272254128346512609744690048814426160231687683233172643784762398137404191207445999921156415311568401014033503715319849649510248592805285405106374515984066055406780647774220793764564147394699562815402300054714269682368512) x (if (<=.f64 z 6644225709086191/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 4750852967037615/28793048285076456849987446449190283896766061557132266451844835664715760516297522370041860391064901485759493828054533728788532902755163518009654497157537048672862208) x (if (<=.f64 z 1) y (*.f64 y z)))))))) |
(if (<=.f64 x -2223208113356471/926336713898529563388567880069503262826159877325124512315660672063305037119488) x y) |
x |
Compiled 232 to 136 computations (41.4% saved)
(sort x y)
Compiled 231 to 123 computations (46.8% saved)
Loading profile data...