Time bar (total: 1.8min)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.2% | 0.8% | 0 |
| 99.2% | 0% | 0.8% | 1 |
Compiled 112 to 64 computations (42.9% saved)
| 3.2s | 8256× | body | 128 | valid |
Compiled 335 to 191 computations (43% saved)
| 1× | egg-herbie |
| 759× | fma-neg_binary64 |
| 565× | distribute-rgt-in_binary64 |
| 513× | cancel-sign-sub-inv_binary64 |
| 437× | neg-mul-1_binary64 |
| 217× | distribute-rgt-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 142 |
| 1 | 182 | 136 |
| 2 | 467 | 132 |
| 3 | 2132 | 132 |
| 4 | 4408 | 132 |
| 5 | 5050 | 132 |
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 |
| ▶ | 38.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
Compiled 413 to 200 computations (51.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 11.2b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| ✓ | 11.5b | (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) |
| ✓ | 11.6b | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) |
| ✓ | 11.7b | (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))) |
4 calls:
| 1.4s | (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) |
| 1.3s | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| 697.0ms | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) |
| 460.0ms | (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))) |
| 1× | rewrite-expression-head |
| 4× | *-un-lft-identity_binary64 |
| 4× | add-sqr-sqrt_binary64 |
| 4× | add-cube-cbrt_binary64 |
| 4× | add-cbrt-cube_binary64 |
| 4× | add-exp-log_binary64 |
4 calls:
| 1.0ms | (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) |
| 1× | egg-herbie |
| 1826× | fma-def_binary64 |
| 325× | sub-neg_binary64 |
| 32× | fma-neg_binary64 |
| 5× | fma-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 2590 | 123400 |
| 1 | 5051 | 123400 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 634 | 12 | 646 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 635 | 12 | 647 |
| Status | Error | Program |
| 39.1b | (*.f64 c (-.f64 (fma.f64 y4 (*.f64 y y3) (fma.f64 y0 (*.f64 y2 x) (*.f64 i (*.f64 t z)))) (fma.f64 y4 (*.f64 t y2) (fma.f64 y0 (*.f64 y3 z) (*.f64 y (*.f64 i x)))))) | |
| 43.6b | (*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2)))))) | |
| 40.8b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| 40.7b | (*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5))))))) | |
| 39.0b | (*.f64 -1 (*.f64 y2 (-.f64 (fma.f64 c (*.f64 y4 t) (fma.f64 a (*.f64 y1 x) (*.f64 k (*.f64 y0 y5)))) (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5))))))) | |
| 37.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x))) | |
| 44.1b | (*.f64 -1 (*.f64 k (-.f64 (fma.f64 y0 (*.f64 y5 y2) (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))) (fma.f64 y (*.f64 i y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 b z))))))) | |
| 41.3b | (*.f64 -1 (*.f64 t (-.f64 (fma.f64 c (*.f64 y4 y2) (fma.f64 i (*.f64 j y5) (*.f64 a (*.f64 z b)))) (fma.f64 a (*.f64 y5 y2) (fma.f64 c (*.f64 i z) (*.f64 y4 (*.f64 b j))))))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y))))))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5))))))) | |
| 43.0b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| ▶ | 35.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
Compiled 79796 to 6702 computations (91.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 4.9b | (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) |
| ✓ | 6.1b | (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))) |
| ✓ | 7.3b | (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2))))) |
| ✓ | 8.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
4 calls:
| 267.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
| 118.0ms | (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2))))) |
| 60.0ms | (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))) |
| 23.0ms | (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) |
| 1× | rewrite-expression-head |
| 34× | add-sqr-sqrt_binary64 |
| 32× | *-un-lft-identity_binary64 |
| 28× | add-cube-cbrt_binary64 |
| 27× | prod-diff_binary64 |
| 14× | distribute-lft-in_binary64 |
4 calls:
| 6.0ms | (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2))))) |
| 3.0ms | (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 y4 (-.f64 (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
| 0.0ms | (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3))) |
| 1× | egg-herbie |
| 962× | fma-neg_binary64 |
| 376× | associate-*r*_binary64 |
| 341× | associate-*l*_binary64 |
| 320× | fma-def_binary64 |
| 271× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 397 | 21224 |
| 1 | 1062 | 20073 |
| 2 | 3846 | 20073 |
| 3 | 4984 | 20073 |
| 4 | 4998 | 20073 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 300 | 3 | 303 |
| Fresh | 2 | 9 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 303 | 12 | 315 |
| Status | Error | Program |
| 39.1b | (*.f64 c (-.f64 (fma.f64 y4 (*.f64 y y3) (fma.f64 y0 (*.f64 y2 x) (*.f64 i (*.f64 t z)))) (fma.f64 y4 (*.f64 t y2) (fma.f64 y0 (*.f64 y3 z) (*.f64 y (*.f64 i x)))))) | |
| 43.6b | (*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2)))))) | |
| 40.8b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| 40.7b | (*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5))))))) | |
| 39.0b | (*.f64 -1 (*.f64 y2 (-.f64 (fma.f64 c (*.f64 y4 t) (fma.f64 a (*.f64 y1 x) (*.f64 k (*.f64 y0 y5)))) (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5))))))) | |
| ▶ | 37.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x))) |
| 42.0b | (*.f64 t (-.f64 (*.f64 y4 (*.f64 b j)) (*.f64 c (*.f64 y4 y2)))) | |
| 50.0b | (*.f64 y (-.f64 (*.f64 c (*.f64 y4 y3)) (*.f64 k (*.f64 y4 b)))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y))))))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5))))))) | |
| 43.0b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 43.3b | (*.f64 k (-.f64 (*.f64 y2 (-.f64 (*.f64 y4 y1) (*.f64 y0 y5))) (*.f64 y4 (*.f64 y b)))) |
Compiled 15221 to 1940 computations (87.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 6.8b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x) |
| ✓ | 7.2b | (*.f64 y1 (*.f64 i j)) |
| ✓ | 8.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x))) |
| ✓ | 8.8b | (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) |
4 calls:
| 638.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x))) |
| 214.0ms | (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x) |
| 130.0ms | (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) |
| 10.0ms | (*.f64 y1 (*.f64 i j)) |
| 1× | rewrite-expression-head |
| 21× | add-sqr-sqrt_binary64 |
| 19× | *-un-lft-identity_binary64 |
| 15× | add-cube-cbrt_binary64 |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
4 calls:
| 5.0ms | (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x) |
| 4.0ms | (*.f64 y1 (*.f64 i j)) |
| 3.0ms | (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 (-.f64 (fma.f64 y0 (*.f64 j b) (fma.f64 c (*.f64 i y) (*.f64 y1 (*.f64 a y2)))) (fma.f64 y (*.f64 a b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j))))) x))) |
| 1× | egg-herbie |
| 662× | fma-def_binary64 |
| 388× | associate-*l*_binary64 |
| 385× | associate-*r*_binary64 |
| 281× | fma-neg_binary64 |
| 279× | cancel-sign-sub-inv_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 651 | 29650 |
| 1 | 1604 | 28913 |
| 2 | 4914 | 28913 |
| 3 | 5009 | 28913 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 382 | 2 | 384 |
| Fresh | 1 | 10 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 384 | 12 | 396 |
| Status | Error | Program |
| 39.1b | (*.f64 c (-.f64 (fma.f64 y4 (*.f64 y y3) (fma.f64 y0 (*.f64 y2 x) (*.f64 i (*.f64 t z)))) (fma.f64 y4 (*.f64 t y2) (fma.f64 y0 (*.f64 y3 z) (*.f64 y (*.f64 i x)))))) | |
| 43.6b | (*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2)))))) | |
| 40.8b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| 40.7b | (*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5))))))) | |
| 39.0b | (*.f64 -1 (*.f64 y2 (-.f64 (fma.f64 c (*.f64 y4 t) (fma.f64 a (*.f64 y1 x) (*.f64 k (*.f64 y0 y5)))) (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5))))))) | |
| 42.0b | (*.f64 t (-.f64 (*.f64 y4 (*.f64 b j)) (*.f64 c (*.f64 y4 y2)))) | |
| 44.3b | (*.f64 i (*.f64 (-.f64 (*.f64 y1 j) (*.f64 c y)) x)) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y))))))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5))))))) | |
| 43.0b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 43.3b | (*.f64 k (-.f64 (*.f64 y2 (-.f64 (*.f64 y4 y1) (*.f64 y0 y5))) (*.f64 y4 (*.f64 y b)))) | |
| ▶ | 34.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)))) |
Compiled 21504 to 2845 computations (86.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.3b | (-.f64 (*.f64 i y) (*.f64 y0 y2)) |
| ✓ | 3.6b | (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)) |
| ✓ | 6.9b | (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x) |
| ✓ | 7.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)))) |
4 calls:
| 197.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)))) |
| 38.0ms | (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)) |
| 20.0ms | (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x) |
| 10.0ms | (-.f64 (*.f64 i y) (*.f64 y0 y2)) |
| 1× | rewrite-expression-head |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
| 11× | pow1_binary64 |
| 9× | add-sqr-sqrt_binary64 |
| 7× | *-un-lft-identity_binary64 |
4 calls:
| 7.0ms | (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)) |
| 5.0ms | (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x) |
| 3.0ms | (-.f64 (*.f64 i y) (*.f64 y0 y2)) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)))) |
| 1× | egg-herbie |
| 505× | distribute-rgt-in_binary64 |
| 483× | distribute-lft-in_binary64 |
| 414× | fma-neg_binary64 |
| 302× | distribute-rgt-neg-in_binary64 |
| 292× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 264 | 11613 |
| 1 | 725 | 11002 |
| 2 | 2442 | 10350 |
| 3 | 5370 | 10350 |
14 alts after pruning (13 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 190 | 2 | 192 |
| Fresh | 0 | 11 | 11 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 190 | 14 | 204 |
| Status | Error | Program |
| 39.1b | (*.f64 c (-.f64 (fma.f64 y4 (*.f64 y y3) (fma.f64 y0 (*.f64 y2 x) (*.f64 i (*.f64 t z)))) (fma.f64 y4 (*.f64 t y2) (fma.f64 y0 (*.f64 y3 z) (*.f64 y (*.f64 i x)))))) | |
| 43.6b | (*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2)))))) | |
| 40.8b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| 40.7b | (*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5))))))) | |
| 39.0b | (*.f64 -1 (*.f64 y2 (-.f64 (fma.f64 c (*.f64 y4 t) (fma.f64 a (*.f64 y1 x) (*.f64 k (*.f64 y0 y5)))) (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5))))))) | |
| 42.0b | (*.f64 t (-.f64 (*.f64 y4 (*.f64 b j)) (*.f64 c (*.f64 y4 y2)))) | |
| 44.3b | (*.f64 i (*.f64 (-.f64 (*.f64 y1 j) (*.f64 c y)) x)) | |
| 50.1b | (neg.f64 (*.f64 c (*.f64 i (*.f64 x y)))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y))))))) | |
| 39.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5))))))) | |
| 43.0b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 43.3b | (*.f64 k (-.f64 (*.f64 y2 (-.f64 (*.f64 y4 y1) (*.f64 y0 y5))) (*.f64 y4 (*.f64 y b)))) | |
| ✓ | 34.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 c (*.f64 (-.f64 (*.f64 i y) (*.f64 y0 y2)) x)))) |
| 40.2b | (fma.f64 c (*.f64 y0 (*.f64 x y2)) (-.f64 (*.f64 y1 (*.f64 y4 (-.f64 (*.f64 y2 k) (*.f64 y3 j)))) (*.f64 c (*.f64 i (*.f64 x y))))) |
Compiled 6614 to 1417 computations (78.6% saved)
Total 36.2b remaining (96.4%)
Threshold costs 0b (0%)
Compiled 440080 to 278146 computations (36.8% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 8 | 1.2932080150191328e+223 | 1.006644210092351e+226 | 5.168162862352319e+225 |
| 8 | 7.372177118296576e+115 | 4.1808177663407265e+120 | 1.687310135218241e+116 |
| 6 | 4.84318089533171e+21 | 4.40081585533535e+22 | 1.2981810238745263e+22 |
| 9 | 2.911208834487777e-91 | 1.2170878273343823e-84 | 5.050444181584658e-87 |
| 10 | 1.0479119284986803e-134 | 3.7201641402197404e-124 | 2.5223332782041714e-124 |
| 9 | 5.110385730663699e-187 | 9.582536233843097e-180 | 2.5696845278564366e-186 |
| 7 | 2.8343985529169836e-204 | 6.282970705907723e-202 | 2.8827497107938707e-204 |
| 4 | 1.9000518659788158e-236 | 3.2950531686178725e-236 | 3.2494084172250747e-236 |
| 9 | 8.831516850157951e-301 | 3.7979370056858843e-295 | 5.054391497702296e-300 |
| 2 | -7.269660236382645e-290 | -6.470397731047033e-290 | -6.969936796881791e-290 |
| 8 | -2.073244810552015e-248 | -2.26883171852867e-251 | -1.655239403815775e-249 |
| 6 | -1.7825448637187755e-237 | -2.6927682829783435e-238 | -5.874102451921291e-238 |
| 10 | -3.178348129077973e-178 | -8.024539975191412e-190 | -4.916526572195435e-181 |
| 9 | -7.957363875028824e-47 | -7.965539162214466e-56 | -3.2947111268727517e-47 |
| 11 | -1.9147125711439348e-7 | -1.754768103897521e-33 | -4.3571350137608013e-29 |
| 7 | -2.0253874941857832e+30 | -5.67691394172293e+28 | -5.916673269139028e+28 |
| 7 | -1.8079134896495765e+68 | -8.002414156492774e+66 | -1.3634844163671813e+67 |
| 7 | -1.1784898167408299e+126 | -7.003759367302181e+123 | -1.1704082746557775e+124 |
| 6 | -1.2762747176241708e+213 | -2.420788887013965e+212 | -1.0565292706596829e+213 |
Compiled 17 to 16 computations (5.9% saved)
| 1× | egg-herbie |
| 609× | distribute-rgt-neg-in_binary64 |
| 528× | neg-sub0_binary64 |
| 521× | neg-mul-1_binary64 |
| 462× | distribute-lft-neg-in_binary64 |
| 406× | *-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 267 | 1076 |
| 1 | 482 | 1072 |
| 2 | 696 | 1072 |
| 3 | 939 | 1056 |
| 4 | 1171 | 1056 |
| 5 | 1501 | 1056 |
| 6 | 1966 | 1056 |
| 7 | 2460 | 1056 |
| 8 | 2754 | 1056 |
| 9 | 2832 | 1056 |
| 10 | 2888 | 1056 |
| 11 | 2907 | 1056 |
| 12 | 3120 | 1056 |
| 13 | 3419 | 1056 |
| 14 | 3480 | 1056 |
| 15 | 3539 | 1056 |
| 16 | 3588 | 1056 |
| 17 | 3629 | 1056 |
| 18 | 3612 | 1056 |
| 19 | 3613 | 1056 |
| 20 | 3613 | 1056 |
| 21 | 3619 | 1056 |
| 22 | 3615 | 1056 |
| 23 | 3615 | 1056 |
| 24 | 3623 | 1056 |
| 25 | 3619 | 1056 |
Compiled 2105 to 889 computations (57.8% saved)
Loading profile data...