Time bar (total: 1.2min)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.2% | 0.8% | 0 |
| 0% | 99.2% | 0.8% | 1 |
| 0% | 99.2% | 0.8% | 2 |
| 0% | 99.2% | 0.8% | 3 |
| 0% | 99.2% | 0.8% | 4 |
| 0% | 99.2% | 0.8% | 5 |
| 0% | 99.2% | 0.8% | 6 |
| 0% | 99.2% | 0.8% | 7 |
| 0% | 99.2% | 0.8% | 8 |
| 0% | 99.2% | 0.8% | 9 |
| 0% | 99.2% | 0.8% | 10 |
| 0% | 99.2% | 0.8% | 11 |
| 0% | 99.2% | 0.8% | 12 |
| 0% | 99.2% | 0.8% | 13 |
| 0% | 99.2% | 0.8% | 14 |
Compiled 112 to 64 computations (42.9% saved)
| 28.9s | 66193× | body | 128 | invalid |
| 3.5s | 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 |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
| ▶ | 25.7b | (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)))))))) |
| 25.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) |
Compiled 635 to 326 computations (48.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 6.2b | (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))))) |
| ✓ | 6.7b | (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)))))) |
| ✓ | 7.3b | (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)))) |
| ✓ | 7.8b | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
4 calls:
| 706.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)))))) |
| 423.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))))) |
| 288.0ms | (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)))) |
| 67.0ms | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
| 1× | rewrite-expression-head |
| 8× | add-sqr-sqrt_binary64 |
| 6× | *-un-lft-identity_binary64 |
| 6× | flip--_binary64 |
| 6× | flip3--_binary64 |
| 6× | add-cube-cbrt_binary64 |
4 calls:
| 10.0ms | (*.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)))))) |
| 0.0ms | (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 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 |
| 608× | fma-def_binary64 |
| 605× | +-commutative_binary64 |
| 519× | associate-+r+_binary64 |
| 515× | cancel-sign-sub-inv_binary64 |
| 468× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1235 | 65922 |
| 1 | 2871 | 65433 |
| 2 | 4772 | 65433 |
| 3 | 4932 | 65433 |
16 alts after pruning (16 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 423 | 15 | 438 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 424 | 16 | 440 |
| Status | Error | Program |
| 37.6b | (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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x))))))) | |
| 39.0b | (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)) (*.f64 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b)))))))) | |
| 30.7b | (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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))))) | |
| 30.3b | (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j)))))))))) | |
| 36.0b | (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)) (*.f64 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i))) | |
| 39.9b | (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)) (*.f64 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x)))))))) | |
| 39.3b | (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)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t))))))) | |
| 31.8b | (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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3))))) | |
| 27.9b | (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)) (-.f64 (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 k (*.f64 y (*.f64 i y5))) (*.f64 y4 (*.f64 t (*.f64 b j)))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y2 x))) (+.f64 (*.f64 i (*.f64 t (*.f64 j y5))) (*.f64 k (*.f64 y4 (*.f64 y b))))))))))) | |
| 38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x))))))))) | |
| 39.6b | (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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x))))))) | |
| 33.9b | (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)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 i (*.f64 y5 y))))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 i (*.f64 t (*.f64 y5 j)) (*.f64 k (*.f64 i (*.f64 y1 z)))))))))) | |
| 32.0b | (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x)))))) | |
| 39.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)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x)))) | |
| ▶ | 25.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) |
| 28.7b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) |
Compiled 48909 to 5073 computations (89.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 8.9b | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a))) |
| ✓ | 9.0b | (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a))) |
| ✓ | 9.1b | (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i))) |
| ✓ | 10.9b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) |
4 calls:
| 59.0ms | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a))) |
| 56.0ms | (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a))) |
| 55.0ms | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) |
| 55.0ms | (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i))) |
| 1× | rewrite-expression-head |
| 24× | flip--_binary64 |
| 24× | flip3--_binary64 |
| 20× | add-sqr-sqrt_binary64 |
| 16× | frac-times_binary64 |
| 12× | associate-*r*_binary64 |
4 calls:
| 8.0ms | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a))) |
| 7.0ms | (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i))) |
| 6.0ms | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) |
| 6.0ms | (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a))) |
| 1× | egg-herbie |
| 770× | associate-*l*_binary64 |
| 382× | fma-def_binary64 |
| 362× | distribute-rgt-in_binary64 |
| 356× | distribute-lft-in_binary64 |
| 258× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 537 | 18648 |
| 1 | 1506 | 18276 |
| 2 | 5212 | 18276 |
23 alts after pruning (23 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 287 | 10 | 297 |
| Fresh | 2 | 13 | 15 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 290 | 23 | 313 |
| Status | Error | Program |
| 26.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (+.f64 (*.f64 c (*.f64 y4 (-.f64 (*.f64 t y2) (*.f64 y y3)))) (neg.f64 (*.f64 a (*.f64 y5 (-.f64 (*.f64 t y2) (*.f64 y y3))))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 37.6b | (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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x))))))) | |
| 39.0b | (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)) (*.f64 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b)))))))) | |
| 30.7b | (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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))))) | |
| 30.3b | (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j)))))))))) | |
| 27.9b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (-.f64 (+.f64 (*.f64 a (*.f64 y (*.f64 y3 y5))) (*.f64 c (*.f64 y4 (*.f64 t y2)))) (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (*.f64 c (*.f64 y4 (*.f64 y y3)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x))))))))) | |
| 42.4b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 30.2b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 t (*.f64 (-.f64 (*.f64 c y4) (*.f64 a y5)) y2))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| ▶ | 25.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (+.f64 (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) (*.f64 (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) (-.f64 (*.f64 x y2) (*.f64 z y3))))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) |
| 36.0b | (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)) (*.f64 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i))) | |
| 30.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (neg.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.9b | (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)) (*.f64 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x)))))))) | |
| 25.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 28.0b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (neg.f64 (*.f64 c (*.f64 i (-.f64 (*.f64 y x) (*.f64 t z))))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 32.0b | (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x)))))) | |
| 39.3b | (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)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t))))))) | |
| 31.8b | (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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3))))) | |
| 26.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (neg.f64 (*.f64 y3 (*.f64 z (-.f64 (*.f64 c y0) (*.f64 a y1)))))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.6b | (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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x))))))) | |
| 39.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)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x)))) | |
| 25.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (*.f64 (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 28.7b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) |
Compiled 36989 to 5019 computations (86.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 9.0b | (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) |
| 9.1b | (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i))) | |
| 10.9b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) | |
| ✓ | 46.6b | (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) |
2 calls:
| 55.0ms | (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) |
| 11.0ms | (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) |
| 1× | rewrite-expression-head |
| 6× | add-sqr-sqrt_binary64 |
| 4× | *-un-lft-identity_binary64 |
| 4× | add-cube-cbrt_binary64 |
| 4× | add-cbrt-cube_binary64 |
| 4× | add-exp-log_binary64 |
2 calls:
| 5.0ms | (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) |
| 0.0ms | (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) |
| 1× | egg-herbie |
| 828× | fma-neg_binary64 |
| 510× | cancel-sign-sub-inv_binary64 |
| 415× | fma-def_binary64 |
| 362× | exp-prod_binary64 |
| 356× | distribute-rgt-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 139 | 4495 |
| 1 | 284 | 4376 |
| 2 | 1019 | 4016 |
| 3 | 2858 | 2768 |
| 4 | 4589 | 2768 |
| 5 | 4994 | 2768 |
22 alts after pruning (22 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 233 | 1 | 234 |
| Fresh | 1 | 21 | 22 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 235 | 22 | 257 |
| Status | Error | Program |
| 26.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (+.f64 (*.f64 c (*.f64 y4 (-.f64 (*.f64 t y2) (*.f64 y y3)))) (neg.f64 (*.f64 a (*.f64 y5 (-.f64 (*.f64 t y2) (*.f64 y y3))))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 37.6b | (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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x))))))) | |
| 39.0b | (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)) (*.f64 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b)))))))) | |
| 30.7b | (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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))))) | |
| 30.3b | (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j)))))))))) | |
| 27.9b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (-.f64 (+.f64 (*.f64 a (*.f64 y (*.f64 y3 y5))) (*.f64 c (*.f64 y4 (*.f64 t y2)))) (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (*.f64 c (*.f64 y4 (*.f64 y y3)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x))))))))) | |
| 42.4b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 30.2b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 t (*.f64 (-.f64 (*.f64 c y4) (*.f64 a y5)) y2))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 36.0b | (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)) (*.f64 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i))) | |
| 30.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (neg.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.9b | (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)) (*.f64 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x)))))))) | |
| ▶ | 25.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) |
| 32.0b | (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x)))))) | |
| 39.3b | (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)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t))))))) | |
| 31.8b | (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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3))))) | |
| 26.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (neg.f64 (*.f64 y3 (*.f64 z (-.f64 (*.f64 c y0) (*.f64 a y1)))))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.6b | (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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x))))))) | |
| 39.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)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x)))) | |
| 28.0b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (neg.f64 (*.f64 c (*.f64 i (-.f64 (*.f64 y x) (*.f64 t z))))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (+.f64 (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) (*.f64 (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) (-.f64 (*.f64 x y2) (*.f64 z y3))))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 25.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (*.f64 (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 28.7b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) |
Compiled 33144 to 4539 computations (86.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 7.9b | (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))) |
| 8.9b | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a))) | |
| 9.0b | (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a))) | |
| 9.1b | (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i))) |
1 calls:
| 84.0ms | (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))) |
| 1× | rewrite-expression-head |
| 6× | flip--_binary64 |
| 6× | flip3--_binary64 |
| 5× | add-sqr-sqrt_binary64 |
| 4× | frac-times_binary64 |
| 3× | associate-*r*_binary64 |
1 calls:
| 6.0ms | (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))) |
| 1× | egg-herbie |
| 753× | fma-def_binary64 |
| 736× | distribute-rgt-in_binary64 |
| 727× | distribute-lft-in_binary64 |
| 196× | cancel-sign-sub-inv_binary64 |
| 187× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 128 | 4662 |
| 1 | 380 | 4566 |
| 2 | 1610 | 4266 |
| 3 | 5339 | 4266 |
26 alts after pruning (26 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 288 | 5 | 293 |
| Fresh | 0 | 21 | 21 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 289 | 26 | 315 |
| Status | Error | Program |
| 26.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (+.f64 (*.f64 c (*.f64 y4 (-.f64 (*.f64 t y2) (*.f64 y y3)))) (neg.f64 (*.f64 a (*.f64 y5 (-.f64 (*.f64 t y2) (*.f64 y y3))))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 37.6b | (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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x))))))) | |
| 39.0b | (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)) (*.f64 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b)))))))) | |
| 30.7b | (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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))))) | |
| 30.3b | (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j)))))))))) | |
| 27.9b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (-.f64 (+.f64 (*.f64 a (*.f64 y (*.f64 y3 y5))) (*.f64 c (*.f64 y4 (*.f64 t y2)))) (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (*.f64 c (*.f64 y4 (*.f64 y y3)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x))))))))) | |
| 42.4b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 30.2b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 t (*.f64 (-.f64 (*.f64 c y4) (*.f64 a y5)) y2))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 25.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (+.f64 (*.f64 (fma.f64 y4 y1 (neg.f64 (*.f64 y0 y5))) (-.f64 (*.f64 k y2) (*.f64 j y3))) (*.f64 (fma.f64 (neg.f64 y0) y5 (*.f64 y0 y5)) (-.f64 (*.f64 k y2) (*.f64 j y3))))) | |
| 36.0b | (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)) (*.f64 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i))) | |
| 30.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (neg.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.9b | (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)) (*.f64 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x)))))))) | |
| 29.0b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 k (*.f64 (-.f64 (*.f64 y4 y1) (*.f64 y0 y5)) y2))) | |
| 32.0b | (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x)))))) | |
| 29.3b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (-.f64 (+.f64 (*.f64 y0 (*.f64 y3 (*.f64 j y5))) (*.f64 k (*.f64 y4 (*.f64 y1 y2)))) (+.f64 (*.f64 k (*.f64 y0 (*.f64 y5 y2))) (*.f64 y4 (*.f64 y1 (*.f64 y3 j)))))) | |
| 28.0b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (neg.f64 (*.f64 c (*.f64 i (-.f64 (*.f64 y x) (*.f64 t z))))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (+.f64 (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) (*.f64 (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) (-.f64 (*.f64 x y2) (*.f64 z y3))))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.3b | (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)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t))))))) | |
| 31.8b | (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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3))))) | |
| 25.8b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (*.f64 (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 33.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (/.f64 (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 (*.f64 y4 y1) (*.f64 y4 y1)) (*.f64 (*.f64 y5 y0) (*.f64 y5 y0)))) (+.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 26.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (neg.f64 (*.f64 y3 (*.f64 z (-.f64 (*.f64 c y0) (*.f64 a y1)))))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) | |
| 39.6b | (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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x))))))) | |
| 29.7b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (*.f64 c i)))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (neg.f64 (*.f64 y0 (*.f64 y5 (-.f64 (*.f64 k y2) (*.f64 y3 j)))))) | |
| 39.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)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x)))) | |
| 28.7b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) |
Compiled 40249 to 3660 computations (90.9% saved)
Total 14.7b remaining (66.5%)
Threshold costs 0b (0%)
Compiled 458729 to 251609 computations (45.2% saved)
Compiled 111 to 63 computations (43.2% saved)
| 1× | egg-herbie |
| 367× | distribute-rgt-neg-in_binary64 |
| 324× | neg-sub0_binary64 |
| 324× | neg-mul-1_binary64 |
| 282× | distribute-lft-neg-out_binary64 |
| 250× | distribute-rgt-neg-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 142 | 836 |
| 1 | 285 | 836 |
| 2 | 424 | 836 |
| 3 | 565 | 832 |
| 4 | 680 | 832 |
| 5 | 805 | 832 |
| 6 | 981 | 832 |
| 7 | 1171 | 832 |
| 8 | 1378 | 832 |
| 9 | 1564 | 832 |
| 10 | 1704 | 832 |
| 11 | 1839 | 832 |
| 12 | 1958 | 832 |
| 13 | 1946 | 832 |
| 14 | 1965 | 832 |
| 15 | 2033 | 832 |
| 16 | 2017 | 832 |
| 17 | 2077 | 832 |
| 18 | 2085 | 832 |
| 19 | 2087 | 832 |
| 20 | 2083 | 832 |
Compiled 3905 to 1723 computations (55.9% saved)
Loading profile data...