Time bar (total: 13.0s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 50% | 50% | 0 |
| 0% | 50% | 50% | 1 |
| 0% | 50% | 50% | 2 |
| 37.5% | 12.5% | 50% | 3 |
| 43.7% | 6.2% | 50% | 4 |
| 46.8% | 3.1% | 50% | 5 |
| 48.4% | 1.6% | 50% | 6 |
| 49.2% | 0.8% | 50% | 7 |
| 49.6% | 0.4% | 50% | 8 |
| 49.8% | 0.2% | 50% | 9 |
| 49.9% | 0.1% | 50% | 10 |
| 49.9% | 0% | 50% | 11 |
| 49.9% | 0% | 50% | 12 |
| 49.9% | 0% | 50% | 13 |
| 49.9% | 0% | 50% | 14 |
Compiled 15 to 10 computations (33.3% saved)
| 9.7s | 4442× | body | 2048 | valid |
| 1.6s | 2027× | body | 1024 | valid |
| 425.0ms | 1035× | body | 512 | valid |
| 150.0ms | 494× | body | 256 | valid |
| 37.0ms | 258× | body | 128 | valid |
Compiled 38 to 25 computations (34.2% saved)
| 1× | egg-herbie |
| 577× | fma-def_binary64 |
| 278× | fma-neg_binary64 |
| 235× | times-frac_binary64 |
| 176× | div-sub_binary64 |
| 119× | distribute-rgt-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 11 |
| 1 | 11 | 11 |
| 2 | 18 | 11 |
| 3 | 29 | 11 |
| 4 | 56 | 11 |
| 5 | 86 | 11 |
| 6 | 150 | 11 |
| 7 | 238 | 11 |
| 8 | 380 | 11 |
| 9 | 714 | 11 |
| 10 | 1628 | 11 |
| 11 | 2249 | 11 |
| 12 | 2882 | 11 |
| 13 | 2945 | 11 |
| 14 | 2983 | 11 |
| 15 | 2993 | 11 |
| 1× | saturated |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
| ▶ | 27.4b | (/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x)) |
Compiled 24 to 15 computations (37.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x)) |
| ✓ | 2.7b | (-.f64 x (sin.f64 x)) |
2 calls:
| 10.0ms | (/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x)) |
| 2.0ms | (-.f64 x (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 864× | log1p-expm1-u_binary64 |
| 864× | expm1-log1p-u_binary64 |
| 591× | prod-diff_binary64 |
| 254× | egg-rr |
| 75× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 17 |
| 1 | 140 | 17 |
| 2 | 2168 | 17 |
| 1× | node limit |
2 calls:
| 91.0ms | (/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x)) |
| 91.0ms | (-.f64 x (sin.f64 x)) |
| 1× | egg-herbie |
| 714× | fma-def_binary64 |
| 478× | cancel-sign-sub-inv_binary64 |
| 387× | unswap-sqr_binary64 |
| 346× | fma-neg_binary64 |
| 272× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 272 |
| 1 | 133 | 266 |
| 2 | 344 | 262 |
| 3 | 1234 | 248 |
| 4 | 4380 | 248 |
| 1× | node limit |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 271 | 3 | 274 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 272 | 3 | 275 |
| Status | Error | Program |
| ▶ | 0.4b | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
| 9.8b | (/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5))) (tan.f64 x)) | |
| 60.8b | (+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (tan.f64 x))) (cbrt.f64 (/.f64 x (tan.f64 x)))) (cbrt.f64 (/.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x)))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2)) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) |
Compiled 10535 to 2866 computations (72.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 (*.f64 x x) -23/360 1/6) |
| ✓ | 0.2b | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
2 calls:
| 3.0ms | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
| 2.0ms | (fma.f64 (*.f64 x x) -23/360 1/6) |
| 1× | batch-egg-rewrite |
| 594× | log1p-expm1-u_binary64 |
| 594× | expm1-log1p-u_binary64 |
| 296× | log-prod_binary64 |
| 171× | pow2_binary64 |
| 120× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 22 |
| 1 | 144 | 22 |
| 2 | 1632 | 22 |
| 1× | node limit |
2 calls:
| 33.0ms | (fma.f64 (*.f64 x x) -23/360 1/6) |
| 33.0ms | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
| 1× | egg-herbie |
| 691× | fma-def_binary64 |
| 536× | fma-neg_binary64 |
| 418× | distribute-rgt-neg-in_binary64 |
| 409× | cancel-sign-sub-inv_binary64 |
| 351× | distribute-lft-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 270 |
| 1 | 36 | 252 |
| 2 | 82 | 234 |
| 3 | 238 | 234 |
| 4 | 940 | 234 |
| 5 | 2254 | 234 |
| 6 | 3791 | 234 |
| 1× | node limit |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 59 | 2 | 61 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 59 | 5 | 64 |
| Status | Error | Program |
| ✓ | 0.4b | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
| 0.5b | (*.f64 (*.f64 x x) (exp.f64 (log.f64 (fma.f64 x (*.f64 x -23/360) 1/6)))) | |
| 9.8b | (/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5))) (tan.f64 x)) | |
| 60.8b | (+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (tan.f64 x))) (cbrt.f64 (/.f64 x (tan.f64 x)))) (cbrt.f64 (/.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x)))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2)) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) | |
| ▶ | 0.4b | (pow.f64 (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) 2) |
Compiled 1068 to 664 computations (37.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6)) |
| ✓ | 0.0b | (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) |
| ✓ | 0.2b | (pow.f64 (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) 2) |
| ✓ | 0.5b | (*.f64 x -23/360) |
4 calls:
| 31.0ms | (pow.f64 (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) 2) |
| 6.0ms | (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) |
| 4.0ms | (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6)) |
| 3.0ms | (*.f64 x -23/360) |
| 1× | batch-egg-rewrite |
| 796× | log1p-expm1-u_binary64 |
| 796× | expm1-log1p-u_binary64 |
| 94× | add-sqr-sqrt_binary64 |
| 90× | add-cube-cbrt_binary64 |
| 90× | add-cbrt-cube_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 43 |
| 1 | 208 | 41 |
| 2 | 2250 | 41 |
| 1× | node limit |
4 calls:
| 46.0ms | (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6)) |
| 46.0ms | (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) |
| 46.0ms | (pow.f64 (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) 2) |
| 46.0ms | (*.f64 x -23/360) |
| 1× | egg-herbie |
| 702× | fma-neg_binary64 |
| 291× | associate-/r*_binary64 |
| 241× | fma-def_binary64 |
| 236× | sub-neg_binary64 |
| 209× | associate-*r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 99 | 913 |
| 1 | 309 | 811 |
| 2 | 997 | 785 |
| 3 | 3993 | 783 |
| 1× | node limit |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 132 | 1 | 133 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 132 | 6 | 138 |
| Status | Error | Program |
| ✓ | 0.4b | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
| 0.5b | (*.f64 (*.f64 x x) (exp.f64 (log.f64 (fma.f64 x (*.f64 x -23/360) 1/6)))) | |
| ▶ | 0.3b | (fma.f64 (pow.f64 x 4) -23/360 (*.f64 x (*.f64 x 1/6))) |
| 9.8b | (/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5))) (tan.f64 x)) | |
| 60.8b | (+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (tan.f64 x))) (cbrt.f64 (/.f64 x (tan.f64 x)))) (cbrt.f64 (/.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x)))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2)) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) | |
| ✓ | 0.4b | (pow.f64 (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) 2) |
Compiled 2530 to 1944 computations (23.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 (pow.f64 x 4) -23/360 (*.f64 x (*.f64 x 1/6))) |
| ✓ | 0.1b | (*.f64 x (*.f64 x 1/6)) |
| ✓ | 0.3b | (*.f64 x 1/6) |
3 calls:
| 10.0ms | (*.f64 x (*.f64 x 1/6)) |
| 3.0ms | (fma.f64 (pow.f64 x 4) -23/360 (*.f64 x (*.f64 x 1/6))) |
| 1.0ms | (*.f64 x 1/6) |
| 1× | batch-egg-rewrite |
| 734× | log1p-expm1-u_binary64 |
| 734× | expm1-log1p-u_binary64 |
| 153× | log1p-udef_binary64 |
| 149× | prod-diff_binary64 |
| 86× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 25 |
| 1 | 189 | 25 |
| 2 | 2039 | 25 |
| 1× | node limit |
3 calls:
| 40.0ms | (fma.f64 (pow.f64 x 4) -23/360 (*.f64 x (*.f64 x 1/6))) |
| 40.0ms | (*.f64 x (*.f64 x 1/6)) |
| 40.0ms | (*.f64 x 1/6) |
| 1× | egg-herbie |
| 872× | fma-def_binary64 |
| 666× | fma-neg_binary64 |
| 395× | distribute-rgt-neg-in_binary64 |
| 349× | cancel-sign-sub-inv_binary64 |
| 336× | distribute-lft-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 297 |
| 1 | 30 | 279 |
| 2 | 63 | 279 |
| 3 | 186 | 279 |
| 4 | 750 | 279 |
| 5 | 1829 | 279 |
| 6 | 3094 | 279 |
| 7 | 4840 | 279 |
| 1× | node limit |
6 alts after pruning (3 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 58 | 0 | 58 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 58 | 6 | 64 |
| Status | Error | Program |
| ✓ | 0.4b | (*.f64 (*.f64 x x) (fma.f64 (*.f64 x x) -23/360 1/6)) |
| 0.5b | (*.f64 (*.f64 x x) (exp.f64 (log.f64 (fma.f64 x (*.f64 x -23/360) 1/6)))) | |
| ✓ | 0.3b | (fma.f64 (pow.f64 x 4) -23/360 (*.f64 x (*.f64 x 1/6))) |
| 9.8b | (/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5))) (tan.f64 x)) | |
| 60.8b | (+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (tan.f64 x))) (cbrt.f64 (/.f64 x (tan.f64 x)))) (cbrt.f64 (/.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x)))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2)) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (tan.f64 x))) (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 x)) 2))))) | |
| ✓ | 0.4b | (pow.f64 (*.f64 x (sqrt.f64 (fma.f64 x (*.f64 x -23/360) 1/6))) 2) |
Compiled 929 to 689 computations (25.8% saved)
Total 0.3b remaining (86.9%)
Threshold costs 0.3b (86.9%)
Compiled 1492 to 1020 computations (31.6% saved)
| 1× | egg-herbie |
| 1× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 21 |
| 1 | 14 | 21 |
| 1× | saturated |
Compiled 163 to 100 computations (38.7% saved)
Loading profile data...