Time bar (total: 13.0s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 0% | 87.4% | 12.6% | 5 |
| 0% | 74.9% | 25.1% | 6 |
| 3.1% | 71.8% | 25.1% | 7 |
| 7.8% | 60.8% | 31.4% | 8 |
| 11.7% | 50.7% | 37.6% | 9 |
| 17.6% | 44.9% | 37.6% | 10 |
| 22.8% | 36.5% | 40.7% | 11 |
| 26.6% | 29.5% | 43.8% | 12 |
Compiled 12 to 8 computations (33.3% saved)
| 1.2s | 8256× | body | 256 | valid |
| 117.0ms | 1100× | body | 256 | invalid |
| 2× | egg-herbie |
| 783× | div-sub_binary64 |
| 742× | sub-neg_binary64 |
| 477× | associate-/r*_binary64 |
| 442× | associate-/r/_binary64 |
| 367× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 48 |
| 1 | 42 | 48 |
| 2 | 65 | 48 |
| 3 | 123 | 48 |
| 4 | 342 | 48 |
| 5 | 828 | 48 |
| 6 | 1851 | 48 |
| 7 | 2969 | 48 |
| 8 | 4155 | 48 |
| 9 | 4907 | 48 |
| 10 | 6027 | 48 |
| 11 | 6721 | 48 |
| 12 | 6831 | 48 |
| 13 | 6955 | 48 |
| 14 | 7027 | 48 |
| 15 | 7027 | 48 |
| 16 | 7832 | 48 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 y (log.f64 (/.f64 y x))) z) |
(-.f64 (*.f64 z (log.f64 (/.f64 z y))) x) |
(-.f64 (*.f64 x (log.f64 (/.f64 x z))) y) |
| Outputs |
|---|
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 y (log.f64 (/.f64 y x))) z) |
(fma.f64 y (log.f64 (/.f64 y x)) (neg.f64 z)) |
(-.f64 (*.f64 z (log.f64 (/.f64 z y))) x) |
(fma.f64 z (log.f64 (/.f64 z y)) (neg.f64 x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x z))) y) |
(fma.f64 x (log.f64 (/.f64 x z)) (neg.f64 y)) |
Compiled 14 to 10 computations (28.6% saved)
| 1× | egg-herbie |
| 2527× | fma-neg_binary64 |
| 1695× | fma-def_binary64 |
| 365× | distribute-rgt-in_binary64 |
| 337× | unsub-neg_binary64 |
| 315× | associate--l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 12 |
| 1 | 15 | 12 |
| 2 | 23 | 12 |
| 3 | 39 | 12 |
| 4 | 98 | 12 |
| 5 | 232 | 12 |
| 6 | 499 | 12 |
| 7 | 920 | 12 |
| 8 | 1276 | 12 |
| 9 | 2192 | 12 |
| 10 | 3705 | 12 |
| 11 | 4079 | 12 |
| 12 | 4206 | 12 |
| 13 | 4245 | 12 |
| 14 | 4259 | 12 |
| 15 | 5641 | 12 |
| 16 | 6872 | 12 |
| 17 | 7311 | 12 |
| 18 | 7637 | 12 |
| 19 | 7722 | 12 |
| 20 | 7772 | 12 |
| 21 | 7782 | 12 |
| 22 | 7874 | 12 |
| 23 | 7886 | 12 |
| 24 | 7886 | 12 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| Outputs |
|---|
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
Compiled 11 to 7 computations (36.4% 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 |
|---|---|---|
| ▶ | 14.3b | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
Compiled 11 to 7 computations (36.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| ✓ | 0.2b | (*.f64 x (log.f64 (/.f64 x y))) |
| ✓ | 13.9b | (log.f64 (/.f64 x y)) |
Compiled 27 to 7 computations (74.1% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 51.0ms | x | @ | -inf | (log.f64 (/.f64 x y)) |
| 33.0ms | y | @ | -inf | (log.f64 (/.f64 x y)) |
| 30.0ms | x | @ | 0 | (log.f64 (/.f64 x y)) |
| 29.0ms | x | @ | 0 | (*.f64 x (log.f64 (/.f64 x y))) |
| 15.0ms | y | @ | 0 | (log.f64 (/.f64 x y)) |
| 1× | batch-egg-rewrite |
| 989× | pow1_binary64 |
| 916× | add-log-exp_binary64 |
| 916× | log1p-expm1-u_binary64 |
| 916× | expm1-log1p-u_binary64 |
| 92× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 27 |
| 1 | 174 | 27 |
| 2 | 2435 | 27 |
| 1× | node limit |
| Inputs |
|---|
(log.f64 (/.f64 x y)) |
(*.f64 x (log.f64 (/.f64 x y))) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 x y))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 y) (log.f64 y))) (+.f64 (log.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (log.f64 (/.f64 x y))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (*.f64 x (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) (pow.f64 z 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (log.f64 (/.f64 x y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z))) (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (log.f64 (/.f64 x y)) z) (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z)) (fma.f64 x (log.f64 (/.f64 x y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) (pow.f64 z 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z))) (neg.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) (pow.f64 (neg.f64 z) 3)) (+.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (-.f64 (*.f64 (neg.f64 z) (neg.f64 z)) (*.f64 (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 (neg.f64 z) (neg.f64 z))) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (/.f64 x y) x) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (/.f64 x y)) x (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (neg.f64 z)))))) |
| 1× | egg-herbie |
| 2265× | fma-neg_binary64 |
| 776× | fma-def_binary64 |
| 570× | unsub-neg_binary64 |
| 344× | distribute-rgt-in_binary64 |
| 284× | distribute-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 999 |
| 1 | 96 | 756 |
| 2 | 176 | 756 |
| 3 | 493 | 756 |
| 4 | 1348 | 756 |
| 5 | 3113 | 756 |
| 6 | 5014 | 756 |
| 7 | 5917 | 756 |
| 8 | 6132 | 756 |
| 9 | 6194 | 756 |
| 10 | 6204 | 756 |
| 11 | 6206 | 756 |
| 12 | 6248 | 756 |
| 13 | 6264 | 756 |
| 14 | 6264 | 756 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
| Outputs |
|---|
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(log.f64 (/.f64 x y)) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
Compiled 1344 to 482 computations (64.1% saved)
17 alts after pruning (16 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 82 | 16 | 98 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 82 | 17 | 99 |
| Status | Error | Program |
|---|---|---|
| 38.1b | (/.f64 1 (/.f64 (fma.f64 x (log.f64 (/.f64 x y)) z) (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z)))) | |
| ▶ | 40.9b | (-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z) |
| 31.1b | (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) | |
| ▶ | 14.3b | (-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z) |
| ✓ | 14.3b | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 41.9b | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) | |
| 15.2b | (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z))) | |
| 38.5b | (*.f64 (log.f64 (/.f64 x y)) x) | |
| 38.8b | (-.f64 (*.f64 x (expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))) z) | |
| 33.2b | (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) | |
| ▶ | 32.8b | (neg.f64 z) |
| ▶ | 14.3b | (-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
| ▶ | 14.8b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z) |
| 31.2b | (-.f64 (*.f64 x (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))) z) | |
| 14.7b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) | |
| 38.8b | (-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) | |
| 14.4b | (-.f64 (*.f64 x (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))) z) |
Compiled 511 to 323 computations (36.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
| ✓ | 0.2b | (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) |
| ✓ | 13.7b | (log.f64 (/.f64 y x)) |
Compiled 34 to 8 computations (76.5% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 63.0ms | x | @ | 0 | (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) |
| 61.0ms | y | @ | -inf | (log.f64 (/.f64 y x)) |
| 16.0ms | y | @ | 0 | (log.f64 (/.f64 y x)) |
| 16.0ms | x | @ | 0 | (log.f64 (/.f64 y x)) |
| 16.0ms | x | @ | -inf | (log.f64 (/.f64 y x)) |
| 1× | batch-egg-rewrite |
| 681× | prod-diff_binary64 |
| 482× | log-prod_binary64 |
| 282× | pow-prod-down_binary64 |
| 251× | fma-def_binary64 |
| 240× | pow2_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 26 |
| 1 | 201 | 24 |
| 2 | 2884 | 5 |
| 1× | node limit |
| Inputs |
|---|
(log.f64 (/.f64 y x)) |
(*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x . 0))))) |
((#(struct:change #<rule egg-rr> (2) ((x . 0))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (fma.f64 -1 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (neg.f64 z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (neg.f64 z)))) (log.f64 (sqrt.f64 (exp.f64 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 z)) (pow.f64 (cbrt.f64 (neg.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 z 3)) (/.f64 1 (fma.f64 z z 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (sqrt.f64 z)) (neg.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z z 0) (neg.f64 (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 z 3)) (fma.f64 z z 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 z z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 z 3))) (neg.f64 (fma.f64 z z 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 z z))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (pow.f64 (neg.f64 z) 3)) (+.f64 0 (-.f64 (pow.f64 (neg.f64 z) 2) (*.f64 0 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (neg.f64 z) 2)) (-.f64 0 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (neg.f64 z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (neg.f64 z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (neg.f64 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (neg.f64 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z z 0) (neg.f64 (pow.f64 z 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (neg.f64 (*.f64 z z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 z)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (neg.f64 z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (neg.f64 z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 x (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (cbrt.f64 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (sqrt.f64 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) 1 (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) 1 (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 z)) (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 z)) (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 z 3)) (/.f64 1 (fma.f64 z z 0)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 z 3)) (/.f64 1 (fma.f64 z z 0)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 0 (sqrt.f64 z)) (neg.f64 (sqrt.f64 z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 0 (sqrt.f64 z)) (neg.f64 (sqrt.f64 z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -1) 0 (neg.f64 z)))))) |
| 1× | egg-herbie |
| 609× | fma-neg_binary64 |
| 513× | div-sub_binary64 |
| 493× | unsub-neg_binary64 |
| 362× | distribute-rgt-in_binary64 |
| 323× | sub-neg_binary64 |
Useful iterations: 10 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 1194 |
| 1 | 143 | 870 |
| 2 | 365 | 810 |
| 3 | 939 | 810 |
| 4 | 2653 | 810 |
| 5 | 5039 | 810 |
| 6 | 5687 | 810 |
| 7 | 5870 | 810 |
| 8 | 5962 | 810 |
| 9 | 6032 | 810 |
| 10 | 6226 | 756 |
| 11 | 6730 | 756 |
| 12 | 6856 | 756 |
| 13 | 7573 | 756 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
| Outputs |
|---|
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))) |
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y)) |
(log.f64 (/.f64 y x)) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) |
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))) |
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z) |
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z) |
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
Compiled 6 to 4 computations (33.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| 0.2b | (*.f64 x (log.f64 (/.f64 x y))) | |
| ✓ | 2.8b | (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) |
| 13.9b | (log.f64 (/.f64 x y)) |
Compiled 44 to 9 computations (79.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 69.0ms | y | @ | inf | (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| 21.0ms | x | @ | inf | (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| 16.0ms | x | @ | -inf | (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| 15.0ms | y | @ | -inf | (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| 15.0ms | y | @ | 0 | (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| 1× | batch-egg-rewrite |
| 723× | pow1_binary64 |
| 666× | add-log-exp_binary64 |
| 666× | log1p-expm1-u_binary64 |
| 666× | expm1-log1p-u_binary64 |
| 651× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 20 |
| 1 | 147 | 20 |
| 2 | 1784 | 20 |
| 1× | node limit |
| Inputs |
|---|
(exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) |
(log.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (*.f64 (cbrt.f64 (log.f64 (/.f64 x y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (*.f64 (sqrt.f64 (log.f64 (/.f64 x y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 x y)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) 2)) (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))) (sqrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (log.f64 (/.f64 x y))) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (log.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)) (log.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) (log.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) 2) (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 (/.f64 x y))) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (-.f64 (*.f64 (log.f64 (log.f64 (/.f64 x y))) (log.f64 (log.f64 (/.f64 x y)))) (*.f64 (log.f64 x) (log.f64 (log.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 (log.f64 (/.f64 x y))) (log.f64 (log.f64 (/.f64 x y))))) (-.f64 (log.f64 x) (log.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))))))) |
| 1× | egg-herbie |
| 1503× | fma-def_binary64 |
| 715× | fma-neg_binary64 |
| 423× | unsub-neg_binary64 |
| 403× | associate--r-_binary64 |
| 339× | distribute-rgt-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 624 |
| 1 | 91 | 576 |
| 2 | 179 | 576 |
| 3 | 452 | 576 |
| 4 | 1217 | 576 |
| 5 | 2729 | 576 |
| 6 | 4152 | 576 |
| 7 | 4755 | 576 |
| 8 | 4889 | 576 |
| 9 | 4897 | 576 |
| 10 | 4899 | 576 |
| 11 | 7309 | 576 |
| 12 | 7583 | 576 |
| 13 | 7711 | 576 |
| 14 | 7887 | 576 |
| 15 | 7950 | 576 |
| 16 | 7954 | 576 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
| Outputs |
|---|
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x)))) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) |
| ✓ | 0.5b | (cbrt.f64 (log.f64 (/.f64 x y))) |
| ✓ | 0.8b | (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3) |
| 13.9b | (log.f64 (/.f64 x y)) |
Compiled 46 to 16 computations (65.2% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 38.0ms | x | @ | 0 | (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3) |
| 7.0ms | y | @ | -inf | (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) |
| 4.0ms | y | @ | 0 | (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3) |
| 4.0ms | x | @ | inf | (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3) |
| 4.0ms | x | @ | -inf | (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3) |
| 1× | batch-egg-rewrite |
| 811× | pow1_binary64 |
| 759× | add-log-exp_binary64 |
| 759× | log1p-expm1-u_binary64 |
| 759× | expm1-log1p-u_binary64 |
| 741× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 191 | 23 |
| 2 | 2088 | 23 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3) |
(cbrt.f64 (log.f64 (/.f64 x y))) |
(*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 x y))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 (/.f64 x y)) 1/6) (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 1/6) (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) 2) 3) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 1/6) 3) (pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) 1) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (/.f64 x y)) 1/6)) (pow.f64 (log.f64 (/.f64 x y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 y) (log.f64 y))) (+.f64 (log.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) (pow.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 (/.f64 x y)) 1/6) (pow.f64 (log.f64 (/.f64 x y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 1/3) (pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (log.f64 (/.f64 x y))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) |
| 1× | egg-herbie |
| 417× | fma-neg_binary64 |
| 387× | associate-*l*_binary64 |
| 341× | distribute-rgt-neg-out_binary64 |
| 319× | associate-*r*_binary64 |
| 316× | unsub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 888 |
| 1 | 143 | 756 |
| 2 | 300 | 756 |
| 3 | 990 | 756 |
| 4 | 3782 | 756 |
| 5 | 7691 | 756 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
| Outputs |
|---|
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) |
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3) |
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3) |
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) |
| ✓ | 0.4b | (pow.f64 (cbrt.f64 (/.f64 x y)) 2) |
| ✓ | 3.8b | (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) |
| ✓ | 14.2b | (cbrt.f64 (/.f64 x y)) |
Compiled 77 to 27 computations (64.9% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | x | @ | inf | (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) |
| 2.0ms | x | @ | -inf | (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) |
| 1.0ms | x | @ | -inf | (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) |
| 1.0ms | x | @ | 0 | (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) |
| 1.0ms | x | @ | 0 | (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) |
| 1× | batch-egg-rewrite |
| 702× | prod-diff_binary64 |
| 469× | log-prod_binary64 |
| 289× | pow-prod-down_binary64 |
| 249× | pow2_binary64 |
| 245× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 32 |
| 1 | 214 | 32 |
| 2 | 2718 | 30 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 (/.f64 x y)) |
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) |
(pow.f64 (cbrt.f64 (/.f64 x y)) 2) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (*.f64 -1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (*.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) (cbrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 x y) 1/6) (pow.f64 (/.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y))))) (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/6 (log.f64 (/.f64 x y)))) (pow.f64 (exp.f64 1) (*.f64 1/6 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 y) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 x) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 x)) (neg.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 x))) (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 2) (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x y) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x y) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x y) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x y)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y x) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (*.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 (log.f64 (/.f64 x y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))) (*.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 x y)))) (*.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) (*.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2)) (*.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 y) (cbrt.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) 1) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (cbrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (sqrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))) (sqrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1/3) (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (+.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (-.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) 1) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (cbrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))) (cbrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (sqrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (sqrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4)) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y)))) (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/6 (log.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (*.f64 1/6 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 5)) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (*.f64 2 (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 x))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (log.f64 (pow.f64 (/.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (cbrt.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (-.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (log.f64 (cbrt.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 2) (fma.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 2) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 2) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (*.f64 -1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (*.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 x y) 1/6) (sqrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x y)) (pow.f64 (/.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 5) (cbrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 2) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y))))) (pow.f64 (exp.f64 2) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 2) (*.f64 1/6 (log.f64 (/.f64 x y)))) (pow.f64 (exp.f64 2) (*.f64 1/6 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4))) (pow.f64 (exp.f64 1) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 x y))) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 x)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 2) (exp.f64 (log1p.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (exp.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 2) (log.f64 (cbrt.f64 x))) (pow.f64 (exp.f64 2) (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 (/.f64 y x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (log.f64 (/.f64 y (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (sqrt.f64 x)) (log.f64 (/.f64 y (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2) (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (log.f64 (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (neg.f64 x))) (log.f64 (neg.f64 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 x (sqrt.f64 y))) (log.f64 (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 x 1)) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 x (pow.f64 (cbrt.f64 y) 2))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (cbrt.f64 x))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 x y))) (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2)) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (/.f64 1 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y)))) (/.f64 1 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))) (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (+.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (-.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))) (neg.f64 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))) (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2)) (-.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))) (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 (/.f64 y x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (/.f64 x y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1)) (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1)) (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1 (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2/3 (log.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (log.f64 (/.f64 x y)) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (cbrt.f64 (log.f64 x)) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (-.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y)))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Compiled 11660 to 4813 computations (58.7% saved)
27 alts after pruning (23 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 621 | 20 | 641 |
| Fresh | 8 | 3 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 4 | 5 |
| Total | 631 | 27 | 658 |
| Status | Error | Program |
|---|---|---|
| 35.5b | (-.f64 (*.f64 x (-.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (log.f64 (/.f64 y (cbrt.f64 x))))) z) | |
| 14.7b | (-.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) z) | |
| ✓ | 40.9b | (-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z) |
| 52.1b | (exp.f64 (log.f64 (neg.f64 z))) | |
| 31.4b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z) | |
| 33.2b | (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) | |
| ✓ | 14.3b | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 31.1b | (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) | |
| 14.7b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) | |
| ▶ | 41.9b | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 38.5b | (*.f64 (log.f64 (/.f64 x y)) x) | |
| 33.3b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z) | |
| ▶ | 48.2b | (/.f64 (neg.f64 (*.f64 z z)) z) |
| 38.6b | (-.f64 (*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) z) | |
| 48.3b | (/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) | |
| 38.6b | (-.f64 (*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) z) | |
| ✓ | 32.8b | (neg.f64 z) |
| 61.9b | (log.f64 (exp.f64 (neg.f64 z))) | |
| ▶ | 14.4b | (-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
| 38.2b | (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) | |
| 57.0b | (sqrt.f64 (pow.f64 (neg.f64 z) 2)) | |
| ✓ | 14.8b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z) |
| ▶ | 14.3b | (-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z) |
| ▶ | 51.2b | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| 48.3b | (*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) | |
| 33.4b | (pow.f64 (cbrt.f64 (neg.f64 z)) 3) | |
| 38.8b | (-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
Compiled 619 to 434 computations (29.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (log.f64 (cbrt.f64 (/.f64 x y))) |
| ✓ | 0.2b | (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) |
| ✓ | 0.3b | (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3) |
| 14.2b | (cbrt.f64 (/.f64 x y)) |
Compiled 46 to 16 computations (65.2% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 49.0ms | x | @ | -inf | (log.f64 (cbrt.f64 (/.f64 x y))) |
| 1.0ms | x | @ | 0 | (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) |
| 1.0ms | y | @ | 0 | (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) |
| 1.0ms | x | @ | 0 | (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3) |
| 1.0ms | y | @ | -inf | (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) |
| 1× | batch-egg-rewrite |
| 878× | pow1_binary64 |
| 814× | log1p-expm1-u_binary64 |
| 814× | expm1-log1p-u_binary64 |
| 813× | add-log-exp_binary64 |
| 795× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 33 |
| 1 | 183 | 23 |
| 2 | 2256 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3) |
(*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) |
(log.f64 (cbrt.f64 (/.f64 x y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (/.f64 x y) 1/6)) (log.f64 (pow.f64 (/.f64 x y) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (cbrt.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (cbrt.f64 x)) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 30.7b | (/.f64 (neg.f64 (*.f64 z z)) z) |
Compiled 17 to 6 computations (64.7% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (/.f64 (neg.f64 (*.f64 z z)) z) |
| 1.0ms | z | @ | 0 | (/.f64 (neg.f64 (*.f64 z z)) z) |
| 0.0ms | z | @ | -inf | (/.f64 (neg.f64 (*.f64 z z)) z) |
| 1× | batch-egg-rewrite |
| 345× | pow1_binary64 |
| 333× | add-sqr-sqrt_binary64 |
| 326× | *-un-lft-identity_binary64 |
| 324× | add-log-exp_binary64 |
| 323× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 9 |
| 1 | 112 | 1 |
| 2 | 1720 | 1 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (neg.f64 (*.f64 z z)) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 z)) 2)) (log.f64 (cbrt.f64 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 z))) (log.f64 (sqrt.f64 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 z) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 z (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (pow.f64 1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (pow.f64 (*.f64 (/.f64 1 z) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z z) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z z) (pow.f64 (pow.f64 z -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (neg.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) z) (cbrt.f64 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) z) (*.f64 (/.f64 z (cbrt.f64 z)) (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sqrt.f64 z)) (sqrt.f64 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) z)) (pow.f64 (*.f64 (/.f64 z (cbrt.f64 z)) z) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 z)) (pow.f64 (*.f64 z (sqrt.f64 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 z (cbrt.f64 z))) (sqrt.f64 (*.f64 (cbrt.f64 z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) z)) (sqrt.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) z)) (pow.f64 (neg.f64 (/.f64 z (cbrt.f64 z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 z) z) 1) (pow.f64 (cbrt.f64 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 z) z) (/.f64 (*.f64 z z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z (cbrt.f64 z))) (/.f64 (*.f64 z z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 z) z) (sqrt.f64 z)) (/.f64 (/.f64 z (cbrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sqrt.f64 z)) (pow.f64 z 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 z (cbrt.f64 z))) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 z) -1) -1) (pow.f64 (/.f64 (cbrt.f64 z) z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (cbrt.f64 z) z) -1) (pow.f64 (pow.f64 (cbrt.f64 z) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sqrt.f64 z)) 1/2) (sqrt.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (*.f64 (cbrt.f64 z) z)) 1/2) (sqrt.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (/.f64 z (cbrt.f64 z))) 1/2) (sqrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 -1 (*.f64 (cbrt.f64 z) z)) 1/2) (sqrt.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 z (cbrt.f64 z)) 2) 1/3) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 z z) (sqrt.f64 z)) 1/3) (cbrt.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 z)) 3) (pow.f64 (sqrt.f64 (cbrt.f64 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 z)) 2) -1) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 z -1/2) -1) (pow.f64 (pow.f64 z -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 z (cbrt.f64 z)) 1) -1) (pow.f64 (/.f64 (cbrt.f64 z) (*.f64 z z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 z) 1) -1) (pow.f64 (pow.f64 z -3/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (*.f64 (cbrt.f64 z) z)) -1) (pow.f64 (cbrt.f64 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 z) (*.f64 (cbrt.f64 z) z)) -1) (pow.f64 (/.f64 (sqrt.f64 z) (/.f64 z (cbrt.f64 z))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 z (cbrt.f64 z)) -1) -1) (pow.f64 (/.f64 (cbrt.f64 z) (*.f64 z z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 z) -1) -1) (pow.f64 (pow.f64 z -3/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 z) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 z)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 z)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x . z)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 z)))))) |
| 1× | egg-herbie |
| 3× | sub-neg_binary64 |
| 2× | +-commutative_binary64 |
| 2× | fma-def_binary64 |
| 1× | *-commutative_binary64 |
| 1× | associate-+l-_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4 | 36 |
| 1 | 6 | 36 |
| 2 | 8 | 36 |
| 3 | 9 | 36 |
| 4 | 11 | 36 |
| 5 | 15 | 36 |
| 6 | 19 | 36 |
| 7 | 24 | 36 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
(*.f64 -1 z) |
| Outputs |
|---|
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
(*.f64 -1 z) |
(neg.f64 z) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) |
| ✓ | 0.3b | (*.f64 3 (log.f64 (/.f64 x y))) |
| ✓ | 0.4b | (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y)))) |
| 13.9b | (log.f64 (/.f64 x y)) |
Compiled 51 to 24 computations (52.9% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 49.0ms | x | @ | inf | (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) |
| 1.0ms | y | @ | -inf | (*.f64 3 (log.f64 (/.f64 x y))) |
| 1.0ms | y | @ | 0 | (*.f64 3 (log.f64 (/.f64 x y))) |
| 1.0ms | x | @ | -inf | (*.f64 3 (log.f64 (/.f64 x y))) |
| 1.0ms | x | @ | 0 | (*.f64 3 (log.f64 (/.f64 x y))) |
| 1× | batch-egg-rewrite |
| 900× | pow1_binary64 |
| 835× | add-log-exp_binary64 |
| 835× | log1p-expm1-u_binary64 |
| 835× | expm1-log1p-u_binary64 |
| 820× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 24 |
| 1 | 210 | 24 |
| 2 | 2284 | 24 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y)))) |
(*.f64 3 (log.f64 (/.f64 x y))) |
(*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (/.f64 x y) 2))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 y) (log.f64 y))) (+.f64 (log.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (pow.f64 (/.f64 x y) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (pow.f64 (/.f64 x y) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (pow.f64 (/.f64 x y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (pow.f64 (/.f64 x y) 3)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (pow.f64 (/.f64 x y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (pow.f64 (/.f64 x y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (pow.f64 (/.f64 x y) x)))))))) |
| 1× | egg-herbie |
| 2831× | fma-neg_binary64 |
| 583× | unsub-neg_binary64 |
| 550× | fma-def_binary64 |
| 434× | distribute-rgt-in_binary64 |
| 268× | distribute-lft-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 792 |
| 1 | 95 | 720 |
| 2 | 212 | 720 |
| 3 | 543 | 720 |
| 4 | 1275 | 720 |
| 5 | 2690 | 720 |
| 6 | 4732 | 720 |
| 7 | 5540 | 720 |
| 8 | 5894 | 720 |
| 9 | 5972 | 720 |
| 10 | 5996 | 720 |
| 11 | 6000 | 720 |
| 12 | 6016 | 720 |
| 13 | 6018 | 720 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
| Outputs |
|---|
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3) |
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3) |
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
Compiled 15 to 8 computations (46.7% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | z | @ | 0 | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| 1.0ms | z | @ | inf | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| 1.0ms | z | @ | -inf | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| 1× | batch-egg-rewrite |
| 354× | pow1_binary64 |
| 347× | add-sqr-sqrt_binary64 |
| 337× | *-un-lft-identity_binary64 |
| 332× | add-log-exp_binary64 |
| 331× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 3 |
| 1 | 127 | 1 |
| 2 | 1232 | 1 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 z))) (log.f64 (sqrt.f64 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 z)) 2)) (log.f64 (cbrt.f64 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (pow.f64 (*.f64 z (cbrt.f64 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/4) (pow.f64 z 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 3/4) (pow.f64 z 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 5/6) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 z z) -1)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 z (cbrt.f64 z)) 2)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 z 5/2)) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (cbrt.f64 z)) 1/2) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 z) 5) 1/2) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 z 5/2) 1/3) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 z (cbrt.f64 z)) 2) 1/3) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 z z) -1) 1/3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 z 3)) (+.f64 0 (fma.f64 z z (*.f64 0 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 z z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 z)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x . z)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 z)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 z)) 3)))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) |
| ✓ | 0.2b | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 0.2b | (*.f64 x (log.f64 (/.f64 x y))) | |
| 13.9b | (log.f64 (/.f64 x y)) |
Compiled 48 to 11 computations (77.1% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 21.0ms | y | @ | 0 | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 5.0ms | x | @ | -inf | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 5.0ms | x | @ | inf | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 4.0ms | z | @ | 0 | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 3.0ms | x | @ | 0 | (pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
| 1× | batch-egg-rewrite |
| 642× | prod-diff_binary64 |
| 523× | log-prod_binary64 |
| 332× | pow-prod-down_binary64 |
| 278× | pow2_binary64 |
| 271× | fma-def_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 26 |
| 1 | 239 | 26 |
| 2 | 2868 | 26 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
(sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (/.f64 x y) x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (/.f64 x y) x)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (fma.f64 -1 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (/.f64 x y) x) (exp.f64 z))) 2)) (log.f64 (cbrt.f64 (/.f64 (pow.f64 (/.f64 x y) x) (exp.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (pow.f64 (/.f64 x y) x) (exp.f64 z)))) (log.f64 (sqrt.f64 (/.f64 (pow.f64 (/.f64 x y) x) (exp.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))) (/.f64 (pow.f64 z 3) (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (fma.f64 x (log.f64 (/.f64 x y)) z)) (/.f64 (*.f64 z z) (fma.f64 x (log.f64 (/.f64 x y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (log.f64 (/.f64 x y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2)) (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (log.f64 (/.f64 x y)) z) (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z)) (fma.f64 x (log.f64 (/.f64 x y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z))) (neg.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 (neg.f64 z) 3)) (+.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (-.f64 (pow.f64 (neg.f64 z) 2) (*.f64 (log.f64 (pow.f64 (/.f64 x y) x)) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (pow.f64 (neg.f64 z) 2)) (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (/.f64 x y) x) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1)) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (/.f64 x y) x) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1)) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1)) (exp.f64 (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1)) (/.f64 1 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 z)) (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 z)) (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 z)) (+.f64 1 (-.f64 (pow.f64 (/.f64 x y) x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (/.f64 x y)) x (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (/.f64 x y)) x (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 1 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 1 (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1 (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1 (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1 (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (pow.f64 (/.f64 x y) x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (pow.f64 (/.f64 x y) x)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (*.f64 (cbrt.f64 (log.f64 (/.f64 x y))) x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (*.f64 (cbrt.f64 (log.f64 (/.f64 x y))) x) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 (/.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 (/.f64 x y))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) 2) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) 2) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) 2) (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) 2) (cbrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (*.f64 (sqrt.f64 (log.f64 (/.f64 x y))) x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (*.f64 (sqrt.f64 (log.f64 (/.f64 x y))) x) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z) (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2))) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (log.f64 (/.f64 x y)) z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (log.f64 (/.f64 x y)) z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (log.f64 (/.f64 x y)) z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2)) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (log.f64 (pow.f64 (/.f64 x y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 (/.f64 x y)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 (/.f64 x y)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (neg.f64 z) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6) (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 2) (*.f64 z z))) (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 (/.f64 x y) x)) 3) (pow.f64 z 3))) (hypot.f64 (log.f64 (pow.f64 (/.f64 x y) x)) (sqrt.f64 (*.f64 z (fma.f64 x (log.f64 (/.f64 x y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))) (sqrt.f64 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (log.f64 (pow.f64 (/.f64 x y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 (/.f64 x y) x)) z))) 1)))))) |
| 1× | egg-herbie |
| 579× | fma-def_binary64 |
| 558× | associate-*r*_binary64 |
| 515× | associate-*l*_binary64 |
| 472× | times-frac_binary64 |
| 413× | associate-/r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 147 | 1378 |
| 1 | 421 | 1175 |
| 2 | 1601 | 1002 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 (sqrt.f64 -1) 2) z) |
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2)))) |
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2))))) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (pow.f64 z 5)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x)))) |
(*.f64 (sqrt.f64 -1) (sqrt.f64 z)) |
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z))) |
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))))))) |
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (pow.f64 x 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 z 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))))))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) |
(+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x)))))) |
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x))))))) |
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x)))))))) |
| Outputs |
|---|
(*.f64 (pow.f64 (sqrt.f64 -1) 2) z) |
(neg.f64 z) |
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2)))) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2))))) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z) |
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z) |
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z) |
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)) |
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z) |
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z) |
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 x (log.f64 (/.f64 x y))) |
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x)) |
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)) |
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x))) |
(fma.f64 -1 z (fma.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (+.f64 (/.f64 1/64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (neg.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))))) (pow.f64 z 4) (*.f64 x (log.f64 (/.f64 x y))))) |
(-.f64 (fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) 5/64) (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))) (pow.f64 z 4))) z) |
(fma.f64 x (log.f64 (/.f64 x y)) (-.f64 (*.f64 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3)) (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 z 4)) z)) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (pow.f64 z 5)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x)))) |
(fma.f64 -1 z (fma.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (fma.f64 -1 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4))))) (pow.f64 z 5) (fma.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (+.f64 (/.f64 1/64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (neg.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))))) (pow.f64 z 4) (*.f64 x (log.f64 (/.f64 x y)))))) |
(-.f64 (fma.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (-.f64 (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4))) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (pow.f64 z 5) (fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) 5/64) (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))) (pow.f64 z 4)))) z) |
(-.f64 (fma.f64 (*.f64 0 (fma.f64 (/.f64 1/2 (log.f64 (/.f64 x y))) (/.f64 (/.f64 5/64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) x) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4))))) (pow.f64 z 5) (fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3)) (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 z 4)))) z) |
(*.f64 (sqrt.f64 -1) (sqrt.f64 z)) |
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z))) |
(fma.f64 1/2 (*.f64 (/.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) (/.f64 (sqrt.f64 -1) x)) (sqrt.f64 (/.f64 1 z))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z))) |
(fma.f64 1/2 (/.f64 (*.f64 x (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 (/.f64 1 z)))) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) (sqrt.f64 z))) |
(fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (*.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (log.f64 (/.f64 x y)))))) |
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))))))) |
(fma.f64 1/2 (*.f64 (/.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) (/.f64 (sqrt.f64 -1) x)) (sqrt.f64 (/.f64 1 z))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 x x))) (sqrt.f64 (/.f64 1 (pow.f64 z 3))))))) |
(fma.f64 1/2 (/.f64 (*.f64 x (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 (/.f64 1 z)))) (sqrt.f64 -1)) (fma.f64 -1/8 (*.f64 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) -1) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z)))) |
(fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 x (sqrt.f64 -1)) (log.f64 (/.f64 x y))) (sqrt.f64 (/.f64 1 z))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (*.f64 1/8 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))))) |
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (pow.f64 x 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 z 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))))))) |
(fma.f64 1/16 (/.f64 (*.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 5)))) (pow.f64 (sqrt.f64 -1) 5)) (fma.f64 1/2 (*.f64 (/.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) (/.f64 (sqrt.f64 -1) x)) (sqrt.f64 (/.f64 1 z))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 x x))) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))))))) |
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 x 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 5)))) (fma.f64 1/2 (/.f64 (*.f64 x (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 (/.f64 1 z)))) (sqrt.f64 -1)) (fma.f64 -1/8 (*.f64 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) -1) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z))))) |
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 x 3) (sqrt.f64 (/.f64 1 (pow.f64 z 5))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 x (sqrt.f64 -1)) (log.f64 (/.f64 x y))) (sqrt.f64 (/.f64 1 z))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (*.f64 1/8 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) (/.f64 (sqrt.f64 -1) (*.f64 x x)))))))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)) |
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z))) |
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)) |
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)) |
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)) |
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))) |
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)) |
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)) |
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))) |
(sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) |
(sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) |
(+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x)))))) |
(+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 x (log.f64 (/.f64 x y)))))))) |
(fma.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) |
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x))))))) |
(fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 x (log.f64 (/.f64 x y))))))))) |
(fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (fma.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))) |
(fma.f64 z (*.f64 (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y)))) -1/2) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))) (*.f64 z (*.f64 z -1/8)) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))) |
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x)))))))) |
(fma.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5))))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 x (log.f64 (/.f64 x y)))))))))) |
(fma.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5))))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (fma.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))) |
(fma.f64 (pow.f64 z 3) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5)))) -1/16) (fma.f64 z (*.f64 (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y)))) -1/2) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))) (*.f64 z (*.f64 z -1/8)) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))) |
Compiled 9275 to 3974 computations (57.2% saved)
37 alts after pruning (30 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 557 | 20 | 577 |
| Fresh | 8 | 10 | 18 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 7 | 8 |
| Total | 567 | 37 | 604 |
| Status | Error | Program |
|---|---|---|
| 14.7b | (-.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) z) | |
| ✓ | 40.9b | (-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z) |
| 63.0b | (pow.f64 (pow.f64 z 3) 1/3) | |
| ▶ | 62.5b | (+.f64 0 z) |
| 33.2b | (-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) z) | |
| 52.1b | (exp.f64 (log.f64 (neg.f64 z))) | |
| 31.4b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z) | |
| ▶ | 0.1b | (-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z) |
| ✓ | 14.3b | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 31.1b | (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) | |
| 63.2b | (exp.f64 (log.f64 z)) | |
| 14.7b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) | |
| ✓ | 51.2b | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| ▶ | 14.4b | (-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
| 62.8b | (cbrt.f64 (pow.f64 z 3)) | |
| ▶ | 51.6b | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 63.2b | (*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6)) | |
| 33.4b | (pow.f64 (cbrt.f64 (neg.f64 z)) 3) | |
| 62.6b | (*.f64 (/.f64 1 z) (*.f64 z z)) | |
| 33.2b | (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) | |
| 33.3b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z) | |
| ✓ | 48.2b | (/.f64 (neg.f64 (*.f64 z z)) z) |
| 62.5b | (-.f64 (+.f64 1 z) 1) | |
| 38.6b | (-.f64 (*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) z) | |
| 62.5b | (pow.f64 (/.f64 1 z) -1) | |
| 14.3b | (-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z) | |
| 48.3b | (/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) | |
| ▶ | 50.5b | (pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
| 63.3b | (*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) | |
| 38.6b | (-.f64 (*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) z) | |
| ✓ | 32.8b | (neg.f64 z) |
| 62.5b | (pow.f64 (cbrt.f64 z) 3) | |
| 38.2b | (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) | |
| ✓ | 14.8b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z) |
| ✓ | 14.3b | (-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z) |
| 38.5b | (*.f64 (log.f64 (/.f64 x y)) x) | |
| 38.8b | (-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
Compiled 770 to 561 computations (27.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3) |
| ✓ | 0.3b | (/.f64 (cbrt.f64 x) (cbrt.f64 y)) |
| ✓ | 0.6b | (cbrt.f64 y) |
| ✓ | 0.6b | (cbrt.f64 x) |
Compiled 52 to 17 computations (67.3% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | inf | (/.f64 (cbrt.f64 x) (cbrt.f64 y)) |
| 1.0ms | y | @ | -inf | (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3) |
| 1.0ms | y | @ | -inf | (/.f64 (cbrt.f64 x) (cbrt.f64 y)) |
| 0.0ms | y | @ | -inf | (cbrt.f64 y) |
| 0.0ms | y | @ | inf | (cbrt.f64 y) |
| 1× | batch-egg-rewrite |
| 849× | pow1_binary64 |
| 789× | add-log-exp_binary64 |
| 789× | log1p-expm1-u_binary64 |
| 789× | expm1-log1p-u_binary64 |
| 769× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 180 | 18 |
| 2 | 2154 | 18 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 x) |
(cbrt.f64 y) |
(/.f64 (cbrt.f64 x) (cbrt.f64 y)) |
(*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/3) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 1/6) (pow.f64 y 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/3) (cbrt.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 y) 1/3) (pow.f64 (sqrt.f64 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 y 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (/.f64 1 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) (cbrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (cbrt.f64 x)) (/.f64 1 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 x y))) (sqrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (/.f64 1 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 x)) (/.f64 1 (neg.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 y)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x 1/6) 1) (/.f64 (pow.f64 x 1/6) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (/.f64 (cbrt.f64 x) (cbrt.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (/.f64 (pow.f64 x 1/6) (cbrt.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 y 1/6)) (/.f64 (cbrt.f64 x) (pow.f64 y 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 y 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 y 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y)))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Compiled 8 to 6 computations (25% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) |
| ✓ | 0.3b | (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3) |
| ✓ | 0.3b | (*.f64 (log.f64 (/.f64 x y)) 1/3) |
| 13.9b | (log.f64 (/.f64 x y)) |
Compiled 51 to 24 computations (52.9% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | -inf | (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3) |
| 1.0ms | x | @ | 0 | (*.f64 (log.f64 (/.f64 x y)) 1/3) |
| 1.0ms | x | @ | inf | (*.f64 (log.f64 (/.f64 x y)) 1/3) |
| 1.0ms | x | @ | -inf | (*.f64 (log.f64 (/.f64 x y)) 1/3) |
| 0.0ms | y | @ | -inf | (*.f64 (log.f64 (/.f64 x y)) 1/3) |
| 1× | batch-egg-rewrite |
| 909× | pow1_binary64 |
| 843× | add-log-exp_binary64 |
| 843× | log1p-expm1-u_binary64 |
| 843× | expm1-log1p-u_binary64 |
| 827× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 30 |
| 1 | 208 | 23 |
| 2 | 2535 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (log.f64 (/.f64 x y)) 1/3) |
(*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3) |
(*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (cbrt.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 y) (log.f64 y))) (+.f64 (log.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) |
| 1× | egg-herbie |
| 2829× | fma-neg_binary64 |
| 582× | unsub-neg_binary64 |
| 552× | fma-def_binary64 |
| 434× | distribute-rgt-in_binary64 |
| 268× | distribute-lft-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 792 |
| 1 | 95 | 720 |
| 2 | 212 | 720 |
| 3 | 541 | 720 |
| 4 | 1274 | 720 |
| 5 | 2674 | 720 |
| 6 | 4716 | 720 |
| 7 | 5538 | 720 |
| 8 | 5898 | 720 |
| 9 | 5980 | 720 |
| 10 | 6006 | 720 |
| 11 | 6010 | 720 |
| 12 | 6034 | 720 |
| 13 | 6036 | 720 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
| Outputs |
|---|
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))) |
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) |
(fma.f64 -1 (log.f64 y) (log.f64 x)) |
(-.f64 (log.f64 x) (log.f64 y)) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (/.f64 z (cbrt.f64 z)) |
| ✓ | 0.3b | (pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
| ✓ | 0.6b | (cbrt.f64 z) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | z | @ | -inf | (pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
| 1.0ms | z | @ | 0 | (pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
| 1.0ms | z | @ | inf | (pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
| 1.0ms | z | @ | -inf | (cbrt.f64 z) |
| 1.0ms | z | @ | -inf | (/.f64 z (cbrt.f64 z)) |
| 1× | batch-egg-rewrite |
| 518× | pow1_binary64 |
| 497× | add-log-exp_binary64 |
| 497× | log1p-expm1-u_binary64 |
| 497× | expm1-log1p-u_binary64 |
| 485× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 18 |
| 1 | 130 | 10 |
| 2 | 1676 | 10 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 z) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(/.f64 z (cbrt.f64 z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 1 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 z) 1/3) (pow.f64 (sqrt.f64 z) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (cbrt.f64 z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 z) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (cbrt.f64 z)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 z))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 3/2) (pow.f64 (/.f64 1 (cbrt.f64 z)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z))) 3/2) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 3/2) (pow.f64 (cbrt.f64 z) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 z 1/6)) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x . z)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 z)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 z (cbrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (/.f64 1 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (*.f64 (cbrt.f64 z) (/.f64 1 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (*.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (*.f64 (cbrt.f64 (cbrt.f64 z)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z))) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (*.f64 (pow.f64 z 1/6) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (/.f64 1 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (/.f64 1 (neg.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 z (cbrt.f64 z)) 1) (/.f64 (cbrt.f64 z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 z) 1) (/.f64 (sqrt.f64 z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (/.f64 z (cbrt.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 z) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (/.f64 (sqrt.f64 z) (cbrt.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 z 1/6)) (/.f64 z (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 z 1/6)) (/.f64 (cbrt.f64 z) (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z z) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 z) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 z (neg.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 z (cbrt.f64 z)))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) |
| ✓ | 0.2b | (*.f64 (log.f64 (/.f64 x y)) x) |
| ✓ | 0.2b | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 13.9b | (log.f64 (/.f64 x y)) |
Compiled 35 to 10 computations (71.4% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | x | @ | -inf | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 2.0ms | x | @ | inf | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 1.0ms | x | @ | 0 | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 1.0ms | y | @ | -inf | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 1.0ms | x | @ | -inf | (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) |
| 1× | batch-egg-rewrite |
| 790× | pow1_binary64 |
| 732× | add-log-exp_binary64 |
| 732× | log1p-expm1-u_binary64 |
| 732× | expm1-log1p-u_binary64 |
| 715× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 29 |
| 1 | 188 | 29 |
| 2 | 2021 | 29 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2) (*.f64 (cbrt.f64 (log.f64 (/.f64 x y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (*.f64 (sqrt.f64 (log.f64 (/.f64 x y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4) (*.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4)) (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 x y)) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) (cbrt.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 x y) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 x y) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (cbrt.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4) (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))))) |
| 1× | egg-herbie |
| 2599× | fma-neg_binary64 |
| 960× | fma-def_binary64 |
| 438× | unsub-neg_binary64 |
| 399× | distribute-rgt-in_binary64 |
| 281× | distribute-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 35 | 600 |
| 1 | 66 | 552 |
| 2 | 130 | 552 |
| 3 | 346 | 552 |
| 4 | 886 | 552 |
| 5 | 1869 | 552 |
| 6 | 3877 | 552 |
| 7 | 4576 | 552 |
| 8 | 4686 | 552 |
| 9 | 4712 | 552 |
| 10 | 4726 | 552 |
| 11 | 4727 | 552 |
| 12 | 5003 | 552 |
| 13 | 5569 | 552 |
| 14 | 5653 | 552 |
| 15 | 5683 | 552 |
| 16 | 5709 | 552 |
| 17 | 5717 | 552 |
| 18 | 5757 | 552 |
| 19 | 5781 | 552 |
| 20 | 5781 | 552 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
| Outputs |
|---|
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) |
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)) |
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))) |
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))) |
Compiled 4554 to 2206 computations (51.6% saved)
40 alts after pruning (29 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 337 | 13 | 350 |
| Fresh | 9 | 16 | 25 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 10 | 11 |
| Total | 347 | 40 | 387 |
| Status | Error | Program |
|---|---|---|
| 63.0b | (pow.f64 (pow.f64 z 3) 1/3) | |
| 33.2b | (-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) | |
| ✓ | 62.5b | (+.f64 0 z) |
| 52.1b | (exp.f64 (log.f64 (neg.f64 z))) | |
| 31.4b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z) | |
| 48.0b | (*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) | |
| ✓ | 0.1b | (-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z) |
| ✓ | 14.3b | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 63.2b | (exp.f64 (log.f64 z)) | |
| 38.9b | (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) | |
| 63.2b | (pow.f64 (pow.f64 z 2/3) 3/2) | |
| 62.5b | (-.f64 (+.f64 1 z) 1) | |
| ✓ | 14.3b | (-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z) |
| 38.8b | (-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) | |
| 31.2b | (-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) 3)) z) | |
| 38.5b | (*.f64 (log.f64 (/.f64 x y)) x) | |
| ✓ | 51.2b | (pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
| ✓ | 14.4b | (-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
| 62.8b | (cbrt.f64 (pow.f64 z 3)) | |
| 33.4b | (pow.f64 (cbrt.f64 (neg.f64 z)) 3) | |
| 62.6b | (*.f64 (/.f64 1 z) (*.f64 z z)) | |
| 33.2b | (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) | |
| 33.3b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z) | |
| ✓ | 48.2b | (/.f64 (neg.f64 (*.f64 z z)) z) |
| 31.1b | (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) | |
| 62.5b | (pow.f64 (/.f64 1 z) -1) | |
| 14.3b | (-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z) | |
| 48.3b | (/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) | |
| ✓ | 50.5b | (pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
| 63.3b | (*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) | |
| 14.7b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) | |
| ✓ | 32.8b | (neg.f64 z) |
| 62.5b | (pow.f64 (cbrt.f64 z) 3) | |
| 38.2b | (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) | |
| 52.5b | (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) | |
| 51.6b | (*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) | |
| 57.5b | (pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) | |
| ✓ | 14.8b | (-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z) |
| ✓ | 51.6b | (pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
| 47.4b | (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
Compiled 448 to 329 computations (26.6% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
(exp.f64 (log.f64 z)) |
(cbrt.f64 (pow.f64 z 3)) |
(pow.f64 (cbrt.f64 z) 3) |
(exp.f64 (log.f64 (neg.f64 z))) |
(log.f64 (exp.f64 (neg.f64 z))) |
(pow.f64 (pow.f64 z 2/3) 3/2) |
(pow.f64 (pow.f64 z 3) 1/3) |
(sqrt.f64 (pow.f64 (neg.f64 z) 2)) |
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
(pow.f64 (cbrt.f64 (neg.f64 z)) 3) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6)) |
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) z) |
(exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) |
(pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
(*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) |
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
(-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z) |
(-.f64 (*.f64 x (expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))) z) |
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z) |
(-.f64 (*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) z) |
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z) |
(*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) |
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z) |
(-.f64 (*.f64 x (-.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (log.f64 (/.f64 y (cbrt.f64 x))))) z) |
(-.f64 (*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) z) |
(/.f64 1 (/.f64 (fma.f64 x (log.f64 (/.f64 x y)) z) (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z)))) |
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) |
(-.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) z) |
(-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z) |
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z))) |
(-.f64 (*.f64 x (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))) z) |
| Outputs |
|---|
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z) |
7 calls:
| 178.0ms | z |
| 122.0ms | x |
| 110.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 77.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 58.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 0.1b | 1 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 0.1b | 1 | (*.f64 x (log.f64 (/.f64 x y))) |
| 0.1b | 1 | (*.f64 x (log.f64 (/.f64 x y))) |
Compiled 742 to 293 computations (60.5% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
(exp.f64 (log.f64 z)) |
(cbrt.f64 (pow.f64 z 3)) |
(pow.f64 (cbrt.f64 z) 3) |
(exp.f64 (log.f64 (neg.f64 z))) |
(log.f64 (exp.f64 (neg.f64 z))) |
(pow.f64 (pow.f64 z 2/3) 3/2) |
(pow.f64 (pow.f64 z 3) 1/3) |
(sqrt.f64 (pow.f64 (neg.f64 z) 2)) |
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
(pow.f64 (cbrt.f64 (neg.f64 z)) 3) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6)) |
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) z) |
(exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) |
(pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2) |
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
(*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) |
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
(-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z) |
(-.f64 (*.f64 x (expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))) z) |
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) |
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z) |
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z) |
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))) z) |
| Outputs |
|---|
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
7 calls:
| 463.0ms | y |
| 222.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 170.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 156.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 136.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 2 | x |
| 0.3b | 2 | y |
| 13.0b | 2 | z |
| 6.8b | 3 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 6.8b | 3 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 6.8b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
| 6.8b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
Compiled 526 to 223 computations (57.6% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 6.0ms | -3.056553420555315e-300 | 1.3406514532248149e-306 |
Compiled 49 to 36 computations (26.5% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
(exp.f64 (log.f64 z)) |
(cbrt.f64 (pow.f64 z 3)) |
(pow.f64 (cbrt.f64 z) 3) |
(exp.f64 (log.f64 (neg.f64 z))) |
(log.f64 (exp.f64 (neg.f64 z))) |
(pow.f64 (pow.f64 z 2/3) 3/2) |
(pow.f64 (pow.f64 z 3) 1/3) |
(sqrt.f64 (pow.f64 (neg.f64 z) 2)) |
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
(pow.f64 (cbrt.f64 (neg.f64 z)) 3) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6)) |
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) 3)) z) |
| Outputs |
|---|
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
6 calls:
| 336.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 195.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 109.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 92.0ms | x |
| 92.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 2 | x |
| 0.3b | 2 | y |
| 13.0b | 2 | z |
| 6.8b | 3 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 6.8b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
| 6.8b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
Compiled 331 to 161 computations (51.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 5.0ms | -3.056553420555315e-300 | 1.3406514532248149e-306 |
Compiled 45 to 32 computations (28.9% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
(exp.f64 (log.f64 z)) |
(cbrt.f64 (pow.f64 z 3)) |
(pow.f64 (cbrt.f64 z) 3) |
(exp.f64 (log.f64 (neg.f64 z))) |
(log.f64 (exp.f64 (neg.f64 z))) |
(pow.f64 (pow.f64 z 2/3) 3/2) |
(pow.f64 (pow.f64 z 3) 1/3) |
(sqrt.f64 (pow.f64 (neg.f64 z) 2)) |
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
(pow.f64 (cbrt.f64 (neg.f64 z)) 3) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6)) |
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
| Outputs |
|---|
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(neg.f64 z) |
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z) |
6 calls:
| 94.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 93.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 87.0ms | x |
| 86.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 59.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 5.1b | 3 | x |
| 6.8b | 2 | y |
| 13.0b | 2 | z |
| 6.9b | 3 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 6.9b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
| 6.9b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
Compiled 262 to 134 computations (48.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 45.0ms | -3.056553420555315e-300 | 1.3406514532248149e-306 |
| 30.0ms | -3.1591876697263554e-118 | -5.598617072018914e-119 |
Compiled 321 to 236 computations (26.5% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
(exp.f64 (log.f64 z)) |
(cbrt.f64 (pow.f64 z 3)) |
(pow.f64 (cbrt.f64 z) 3) |
(exp.f64 (log.f64 (neg.f64 z))) |
(log.f64 (exp.f64 (neg.f64 z))) |
(pow.f64 (pow.f64 z 2/3) 3/2) |
(pow.f64 (pow.f64 z 3) 1/3) |
(sqrt.f64 (pow.f64 (neg.f64 z) 2)) |
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
(pow.f64 (cbrt.f64 (neg.f64 z)) 3) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6)) |
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2)) |
| Outputs |
|---|
(neg.f64 z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(*.f64 x (-.f64 (log.f64 x) (log.f64 y))) |
6 calls:
| 131.0ms | x |
| 62.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 62.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 60.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 52.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 8.6b | 4 | x |
| 12.5b | 2 | y |
| 13.0b | 2 | z |
| 7.4b | 3 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 7.4b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
| 7.4b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
Compiled 226 to 133 computations (41.2% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 5.079699467456582e+281 | 7.866421157345533e+289 |
| 0.0ms | -inf | -1.1784122338403269e+307 |
Compiled 17 to 12 computations (29.4% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) |
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z) |
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z) |
(exp.f64 (log.f64 z)) |
(cbrt.f64 (pow.f64 z 3)) |
(pow.f64 (cbrt.f64 z) 3) |
(exp.f64 (log.f64 (neg.f64 z))) |
(log.f64 (exp.f64 (neg.f64 z))) |
(pow.f64 (pow.f64 z 2/3) 3/2) |
(pow.f64 (pow.f64 z 3) 1/3) |
(sqrt.f64 (pow.f64 (neg.f64 z) 2)) |
(pow.f64 (sqrt.f64 (neg.f64 z)) 2) |
(pow.f64 (cbrt.f64 (neg.f64 z)) 3) |
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2) |
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2) |
| Outputs |
|---|
(neg.f64 z) |
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
(neg.f64 z) |
5 calls:
| 119.0ms | x |
| 73.0ms | (*.f64 x (log.f64 (/.f64 x y))) |
| 73.0ms | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 64.0ms | y |
| 60.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 10.8b | 3 | x |
| 12.5b | 2 | y |
| 13.0b | 2 | z |
| 7.6b | 3 | (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) |
| 7.6b | 3 | (*.f64 x (log.f64 (/.f64 x y))) |
Compiled 196 to 113 computations (42.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 7.866421157345533e+289 | +inf |
| 0.0ms | -inf | -1.1784122338403269e+307 |
Compiled 17 to 12 computations (29.4% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
| Outputs |
|---|
(neg.f64 z) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) |
(neg.f64 z) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(neg.f64 z) |
3 calls:
| 59.0ms | y |
| 37.0ms | z |
| 24.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 21.6b | 3 | x |
| 24.9b | 10 | y |
| 19.4b | 5 | z |
Compiled 78 to 47 computations (39.7% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 2.700707597362234e-34 | 6.812777137030039e-34 |
| 25.0ms | 2.7977763092970696e-65 | 2.038781961099684e-63 |
| 25.0ms | 4.32534770264551e-115 | 1.221940106585316e-110 |
| 24.0ms | -1.3972901155012068e-39 | -2.7989999498800644e-43 |
Compiled 17 to 12 computations (29.4% saved)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
(*.f64 (log.f64 (/.f64 x y)) x) |
| Outputs |
|---|
(neg.f64 z) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(neg.f64 z) |
(*.f64 (log.f64 (/.f64 x y)) x) |
(neg.f64 z) |
3 calls:
| 159.0ms | y |
| 29.0ms | z |
| 22.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 21.9b | 3 | x |
| 25.1b | 10 | y |
| 19.5b | 5 | z |
Compiled 70 to 42 computations (40% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 46.0ms | 2.700707597362234e-34 | 6.812777137030039e-34 |
| 45.0ms | 2.7977763092970696e-65 | 2.038781961099684e-63 |
| 31.0ms | 4.32534770264551e-115 | 1.221940106585316e-110 |
| 25.0ms | -1.3972901155012068e-39 | -2.7989999498800644e-43 |
Compiled 17 to 12 computations (29.4% saved)
Total -30.3b remaining (-92.6%)
Threshold costs -30.3b (-92.6%)
| Inputs |
|---|
(neg.f64 z) |
(+.f64 0 z) |
(-.f64 (+.f64 1 z) 1) |
(-.f64 (+.f64 1 z) 1) |
(/.f64 (neg.f64 (*.f64 z z)) z) |
(*.f64 (/.f64 1 z) (*.f64 z z)) |
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z)))) |
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z)) |
(pow.f64 (/.f64 1 z) -1) |
| Outputs |
|---|
(neg.f64 z) |
3 calls:
| 10.0ms | z |
| 6.0ms | y |
| 6.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 32.8b | 1 | x |
| 32.8b | 1 | y |
| 32.8b | 1 | z |
Compiled 64 to 39 computations (39.1% saved)
| 1× | egg-herbie |
| 18× | *-commutative_binary64 |
| 17× | +-commutative_binary64 |
| 16× | sub-neg_binary64 |
| 8× | neg-sub0_binary64 |
| 7× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 78 | 351 |
| 1 | 111 | 351 |
| 2 | 136 | 351 |
| 3 | 150 | 351 |
| 4 | 155 | 351 |
| 5 | 156 | 351 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z) |
(if (<=.f64 x 0) (-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)) |
(if (<=.f64 x 0) (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)) |
(if (<=.f64 x -1760312535403423/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) (if (<=.f64 x 8349092948926563/6325070415853456823515479584966165845298645305129441198653167438357198111499854590373761990669910140474596183259900372230931523043306046152094168748148078435047419508642698792639590866940413010663742739952273283392562733857021646831815729864036236135650314266011211548510419206725953204130822734645187695728365866909171712) (neg.f64 z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))) |
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 1000000000000000032782245982862098248570705283021493564263333577440942603197374335927934378672411793053817497581824150818701634676910695695993991101293042521124778804245620065815273272355149596490328548912510300629092601392444835652130948564826004622078785676810855105701264700211200) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))) |
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 100000000000000006172783352786715688699437231096301125831005285053881337653967155894253917094446479669431045845149126131034590785433956171738211535366987228554259102109161882186134743033813753627273385960246277244994846257890348030815401124236704201912132575831851305036088950921132601507840) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (neg.f64 z))) |
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z))))) |
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 (log.f64 (/.f64 x y)) x) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z))))) |
(neg.f64 z) |
| Outputs |
|---|
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z) |
(if (<=.f64 x 0) (-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)) |
(if (<=.f64 x 0) (-.f64 (*.f64 x (*.f64 3 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3))) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)) |
(if (<=.f64 x 0) (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)) |
(if (<=.f64 x -1760312535403423/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) (if (<=.f64 x 8349092948926563/6325070415853456823515479584966165845298645305129441198653167438357198111499854590373761990669910140474596183259900372230931523043306046152094168748148078435047419508642698792639590866940413010663742739952273283392562733857021646831815729864036236135650314266011211548510419206725953204130822734645187695728365866909171712) (neg.f64 z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))) |
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 1000000000000000032782245982862098248570705283021493564263333577440942603197374335927934378672411793053817497581824150818701634676910695695993991101293042521124778804245620065815273272355149596490328548912510300629092601392444835652130948564826004622078785676810855105701264700211200) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))) |
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 100000000000000006172783352786715688699437231096301125831005285053881337653967155894253917094446479669431045845149126131034590785433956171738211535366987228554259102109161882186134743033813753627273385960246277244994846257890348030815401124236704201912132575831851305036088950921132601507840) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (neg.f64 z))) |
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z))))) |
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z))))) |
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 (log.f64 (/.f64 x y)) x) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z))))) |
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 x (log.f64 (/.f64 x y))) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z))))) |
(neg.f64 z) |
Compiled 255 to 149 computations (41.6% saved)
Compiled 231 to 87 computations (62.3% saved)
Loading profile data...