Time bar (total: 22.7s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.6% | 0.4% | 0 |
| 0% | 99.6% | 0.4% | 1 |
| 0% | 99.6% | 0.4% | 2 |
| 0% | 99.6% | 0.4% | 3 |
| 0% | 99.6% | 0.4% | 4 |
| 0% | 99.6% | 0.4% | 5 |
| 0% | 99.6% | 0.4% | 6 |
| 0% | 99.6% | 0.4% | 7 |
| 0% | 99.6% | 0.4% | 8 |
| 0% | 99.6% | 0.4% | 9 |
| 0% | 99.6% | 0.4% | 10 |
| 0% | 99.6% | 0.4% | 11 |
| 0% | 99.6% | 0.4% | 12 |
| 0% | 99.6% | 0.4% | 13 |
| 0% | 99.6% | 0.4% | 14 |
Compiled 39 to 24 computations (38.5% saved)
| 2.4s | 11863× | body | 128 | invalid |
| 1.7s | 8256× | body | 128 | valid |
Compiled 116 to 71 computations (38.8% saved)
| 1× | egg-herbie |
| 800× | unsub-neg_binary64 |
| 655× | sub-neg_binary64 |
| 486× | fma-neg_binary64 |
| 421× | distribute-neg-in_binary64 |
| 393× | +-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 43 |
| 1 | 59 | 41 |
| 2 | 139 | 41 |
| 3 | 438 | 39 |
| 4 | 1302 | 39 |
| 5 | 2978 | 39 |
| 6 | 3433 | 39 |
| 7 | 3900 | 39 |
| 8 | 4058 | 39 |
| 9 | 3988 | 39 |
| 10 | 4033 | 39 |
| 11 | 4029 | 39 |
| 12 | 4393 | 39 |
| 13 | 4600 | 39 |
| 14 | 4665 | 39 |
| 15 | 4670 | 39 |
| 16 | 4670 | 39 |
| 17 | 4672 | 39 |
| 18 | 4674 | 39 |
| 19 | 4674 | 39 |
| 20 | 4934 | 39 |
| 21 | 4931 | 39 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
| ▶ | 11.3b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))))) |
Compiled 137 to 72 computations (47.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (-.f64 (*.f64 a c) (*.f64 y i)) |
| ✓ | 3.4b | (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i)))) |
| ✓ | 4.5b | (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))) |
| ✓ | 5.0b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))))) |
4 calls:
| 95.0ms | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))))) |
| 58.0ms | (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i)))) |
| 21.0ms | (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))) |
| 9.0ms | (-.f64 (*.f64 a c) (*.f64 y i)) |
| 2× | batch-egg-rewrite |
| 256× | add-sqr-sqrt_binary64 |
| 241× | log1p-expm1-u_binary64 |
| 241× | expm1-log1p-u_binary64 |
| 235× | add-log-exp_binary64 |
| 234× | add-cube-cbrt_binary64 |
4 calls:
| 47.0ms | (-.f64 (*.f64 a c) (*.f64 y i)) |
| 47.0ms | (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i)))) |
| 47.0ms | (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))) |
| 47.0ms | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 a c) (*.f64 y i))))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 88 |
| 1 | 488 | 88 |
| 2 | 5026 | 88 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 860× | fma-def_binary64 |
| 809× | fma-neg_binary64 |
| 506× | associate-+l-_binary64 |
| 482× | unsub-neg_binary64 |
| 382× | distribute-neg-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 140 | 7680 |
| 1 | 407 | 7510 |
| 2 | 1036 | 7433 |
| 3 | 2382 | 7105 |
| 4 | 4385 | 7105 |
| 5 | 5020 | 7105 |
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 160 | 9 | 169 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 161 | 9 | 170 |
| Status | Error | Program |
| 12.1b | (-.f64 (+.f64 (*.f64 i (*.f64 t b)) (+.f64 (*.f64 c (*.f64 a j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x))))) | |
| 39.5b | (pow.f64 (sqrt.f64 (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 z y) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y)))))) 2) | |
| 29.5b | (fma.f64 z (-.f64 (*.f64 y x) (*.f64 c b)) (*.f64 a (-.f64 (*.f64 c j) (*.f64 x t)))) | |
| ▶ | 11.3b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))))) |
| 28.3b | (fma.f64 y (-.f64 (*.f64 z x) (*.f64 j i)) (*.f64 t (-.f64 (*.f64 i b) (*.f64 a x)))) | |
| 11.9b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (-.f64 (*.f64 z y) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y))))) 2) (cbrt.f64 (fma.f64 x (-.f64 (*.f64 z y) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y))))))) | |
| 11.4b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) | |
| 22.2b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (-.f64 (*.f64 c (*.f64 a j)) (+.f64 (*.f64 i (*.f64 y j)) (*.f64 a (*.f64 t x))))) | |
| 27.1b | (fma.f64 c (-.f64 (*.f64 a j) (*.f64 z b)) (*.f64 t (-.f64 (*.f64 i b) (*.f64 a x)))) |
Compiled 5441 to 1145 computations (79% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (fma.f64 c a (neg.f64 (*.f64 i y))) |
| ✓ | 3.4b | (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y))))) |
| ✓ | 4.5b | (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))) |
| ✓ | 5.0b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))))) |
4 calls:
| 96.0ms | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))))) |
| 58.0ms | (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y))))) |
| 20.0ms | (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))) |
| 9.0ms | (fma.f64 c a (neg.f64 (*.f64 i y))) |
| 2× | batch-egg-rewrite |
| 250× | add-sqr-sqrt_binary64 |
| 233× | log1p-expm1-u_binary64 |
| 233× | expm1-log1p-u_binary64 |
| 228× | add-cbrt-cube_binary64 |
| 228× | add-exp-log_binary64 |
4 calls:
| 71.0ms | (fma.f64 c a (neg.f64 (*.f64 i y))) |
| 71.0ms | (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y))))) |
| 71.0ms | (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))) |
| 71.0ms | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 88 |
| 1 | 478 | 88 |
| 2 | 4870 | 88 |
| 3 | 5058 | 88 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 858× | fma-def_binary64 |
| 809× | fma-neg_binary64 |
| 506× | associate-+l-_binary64 |
| 482× | unsub-neg_binary64 |
| 382× | distribute-neg-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 136 | 7678 |
| 1 | 407 | 7510 |
| 2 | 1038 | 7433 |
| 3 | 2382 | 7105 |
| 4 | 4385 | 7105 |
| 5 | 5020 | 7105 |
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 138 | 1 | 139 |
| Fresh | 1 | 7 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 139 | 9 | 148 |
| Status | Error | Program |
| 12.1b | (-.f64 (+.f64 (*.f64 i (*.f64 t b)) (+.f64 (*.f64 c (*.f64 a j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x))))) | |
| 39.5b | (pow.f64 (sqrt.f64 (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 z y) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y)))))) 2) | |
| 29.5b | (fma.f64 z (-.f64 (*.f64 y x) (*.f64 c b)) (*.f64 a (-.f64 (*.f64 c j) (*.f64 x t)))) | |
| ✓ | 11.3b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (fma.f64 c a (neg.f64 (*.f64 i y)))))) |
| 28.3b | (fma.f64 y (-.f64 (*.f64 z x) (*.f64 j i)) (*.f64 t (-.f64 (*.f64 i b) (*.f64 a x)))) | |
| 11.9b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (-.f64 (*.f64 z y) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y))))) 2) (cbrt.f64 (fma.f64 x (-.f64 (*.f64 z y) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y))))))) | |
| ▶ | 11.4b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) |
| 27.1b | (fma.f64 c (-.f64 (*.f64 a j) (*.f64 z b)) (*.f64 t (-.f64 (*.f64 i b) (*.f64 a x)))) | |
| 20.5b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (-.f64 (+.f64 (*.f64 c (*.f64 a j)) (*.f64 y (*.f64 z x))) (*.f64 i (*.f64 y j)))) |
Compiled 4160 to 872 computations (79% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 4.5b | (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))) |
| ✓ | 5.0b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) |
| ✓ | 12.8b | (cbrt.f64 (*.f64 i y)) |
| ✓ | 49.8b | (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))) |
4 calls:
| 1.6s | (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))) |
| 1.2s | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) |
| 404.0ms | (cbrt.f64 (*.f64 i y)) |
| 280.0ms | (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))) |
| 2× | batch-egg-rewrite |
| 297× | log1p-expm1-u_binary64 |
| 297× | expm1-log1p-u_binary64 |
| 290× | add-cbrt-cube_binary64 |
| 289× | add-exp-log_binary64 |
| 289× | add-log-exp_binary64 |
4 calls:
| 49.0ms | (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))) |
| 49.0ms | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) |
| 49.0ms | (cbrt.f64 (*.f64 i y)) |
| 49.0ms | (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 98 |
| 1 | 618 | 95 |
| 2 | 5464 | 95 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 704× | sub-neg_binary64 |
| 659× | cancel-sign-sub-inv_binary64 |
| 585× | times-frac_binary64 |
| 309× | associate--l+_binary64 |
| 254× | distribute-rgt-in_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 180 | 5654 |
| 1 | 555 | 5651 |
| 2 | 1482 | 5523 |
| 3 | 2971 | 5125 |
| 4 | 3932 | 4955 |
| 5 | 4390 | 4955 |
| 6 | 5475 | 4955 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 281 | 5 | 286 |
| Fresh | 5 | 2 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 0 | 1 |
| Total | 287 | 8 | 295 |
| Status | Error | Program |
| 29.7b | (+.f64 (*.f64 z (-.f64 (*.f64 y x) (*.f64 c b))) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y)))) | |
| ✓ | 11.4b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) |
| 28.3b | (fma.f64 y (-.f64 (*.f64 z x) (*.f64 j i)) (*.f64 t (-.f64 (*.f64 i b) (*.f64 a x)))) | |
| 31.7b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (pow.f64 (sqrt.f64 (*.f64 j (+.f64 (fma.f64 -1 (*.f64 i y) (*.f64 i y)) (fma.f64 c a (neg.f64 (*.f64 i y)))))) 2))) | |
| 21.1b | (fma.f64 i (*.f64 t b) (-.f64 (*.f64 c (-.f64 (*.f64 a j) (*.f64 z b))) (fma.f64 y (*.f64 i j) (*.f64 a (*.f64 x t))))) | |
| 29.5b | (fma.f64 z (-.f64 (*.f64 y x) (*.f64 c b)) (*.f64 a (-.f64 (*.f64 c j) (*.f64 x t)))) | |
| ▶ | 11.5b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))))) |
| 12.3b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (-.f64 (*.f64 c (*.f64 a j)) (*.f64 i (*.f64 y j))))) |
Compiled 15196 to 4366 computations (71.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 4.5b | (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))) |
| ✓ | 5.0b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))))) |
| 12.8b | (cbrt.f64 (*.f64 i y)) | |
| ✓ | 49.3b | (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))) |
3 calls:
| 1.6s | (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))) |
| 1.1s | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))))) |
| 221.0ms | (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))) |
| 2× | batch-egg-rewrite |
| 314× | log1p-expm1-u_binary64 |
| 314× | expm1-log1p-u_binary64 |
| 309× | add-cbrt-cube_binary64 |
| 304× | add-exp-log_binary64 |
| 304× | add-log-exp_binary64 |
3 calls:
| 43.0ms | (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))) |
| 43.0ms | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))))) |
| 43.0ms | (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 92 |
| 1 | 656 | 89 |
| 2 | 4925 | 89 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 704× | sub-neg_binary64 |
| 659× | cancel-sign-sub-inv_binary64 |
| 585× | times-frac_binary64 |
| 309× | associate--l+_binary64 |
| 254× | distribute-rgt-in_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 177 | 5278 |
| 1 | 550 | 5275 |
| 2 | 1477 | 5203 |
| 3 | 2962 | 4917 |
| 4 | 3925 | 4755 |
| 5 | 4383 | 4755 |
| 6 | 5468 | 4755 |
8 alts after pruning (6 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 258 | 0 | 258 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 258 | 8 | 266 |
| Status | Error | Program |
| 29.7b | (+.f64 (*.f64 z (-.f64 (*.f64 y x) (*.f64 c b))) (*.f64 j (-.f64 (*.f64 c a) (*.f64 i y)))) | |
| ✓ | 11.4b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2))))))) |
| 28.3b | (fma.f64 y (-.f64 (*.f64 z x) (*.f64 j i)) (*.f64 t (-.f64 (*.f64 i b) (*.f64 a x)))) | |
| 31.7b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (pow.f64 (sqrt.f64 (*.f64 j (+.f64 (fma.f64 -1 (*.f64 i y) (*.f64 i y)) (fma.f64 c a (neg.f64 (*.f64 i y)))))) 2))) | |
| 21.1b | (fma.f64 i (*.f64 t b) (-.f64 (*.f64 c (-.f64 (*.f64 a j) (*.f64 z b))) (fma.f64 y (*.f64 i j) (*.f64 a (*.f64 x t))))) | |
| 29.5b | (fma.f64 z (-.f64 (*.f64 y x) (*.f64 c b)) (*.f64 a (-.f64 (*.f64 c j) (*.f64 x t)))) | |
| ✓ | 11.5b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (+.f64 (fma.f64 c a (neg.f64 (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (cbrt.f64 (*.f64 i y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 i y))) (pow.f64 (cbrt.f64 (*.f64 i y)) 2) (*.f64 (cbrt.f64 (*.f64 i y)) (pow.f64 (*.f64 (cbrt.f64 i) (cbrt.f64 y)) 2))))))) |
| 12.3b | (fma.f64 b (-.f64 (*.f64 t i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (-.f64 (*.f64 c (*.f64 a j)) (*.f64 i (*.f64 y j))))) |
Compiled 13294 to 3708 computations (72.1% saved)
Total 2.7b remaining (91.1%)
Threshold costs 0b (0%)
Compiled 57656 to 34148 computations (40.8% saved)
Compiled 38 to 23 computations (39.5% saved)
| 1× | egg-herbie |
| 206× | distribute-rgt-neg-in_binary64 |
| 174× | cancel-sign-sub-inv_binary64 |
| 137× | distribute-lft-neg-in_binary64 |
| 130× | neg-sub0_binary64 |
| 130× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 61 | 252 |
| 1 | 119 | 252 |
| 2 | 162 | 252 |
| 3 | 207 | 252 |
| 4 | 265 | 252 |
| 5 | 305 | 252 |
| 6 | 348 | 252 |
| 7 | 415 | 252 |
| 8 | 461 | 252 |
| 9 | 525 | 252 |
| 10 | 599 | 252 |
| 11 | 718 | 252 |
| 12 | 829 | 252 |
| 13 | 922 | 252 |
| 14 | 968 | 252 |
| 15 | 988 | 252 |
| 16 | 995 | 252 |
| 17 | 997 | 252 |
| 18 | 993 | 252 |
Compiled 697 to 300 computations (57% saved)
Loading profile data...