Time bar (total: 10.9s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 0% | 99.9% | 0.1% | 5 |
| 0% | 99.9% | 0.1% | 6 |
| 18.7% | 81.2% | 0.1% | 7 |
| 18.7% | 81.2% | 0.1% | 8 |
| 29.7% | 69.5% | 0.9% | 9 |
| 30.4% | 67.9% | 1.7% | 10 |
| 36.3% | 61.1% | 2.6% | 11 |
| 36.9% | 59.5% | 3.6% | 12 |
| 39.9% | 55.9% | 4.2% | 13 |
| 40.2% | 54.9% | 4.9% | 14 |
Compiled 17 to 11 computations (35.3% saved)
| 1× | intervals |
| 33.0ms | 27× | body | 2048 | valid |
| 19.0ms | 62× | body | 1024 | valid |
| 9.0ms | 141× | body | 128 | valid |
| 4.0ms | 1× | body | 4096 | valid |
| 4.0ms | 20× | body | 512 | valid |
| 1.0ms | 5× | body | 256 | valid |
| 0.0ms | 6× | body | 128 | invalid |
Compiled 35 to 23 computations (34.3% saved)
| 1× | egg-herbie |
| 297× | fma-def_binary64 |
| 157× | fma-neg_binary64 |
| 50× | cancel-sign-sub-inv_binary64 |
| 37× | associate-/l*_binary64 |
| 33× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 23 |
| 1 | 25 | 20 |
| 2 | 50 | 20 |
| 3 | 121 | 20 |
| 4 | 181 | 20 |
| 5 | 247 | 20 |
| 6 | 321 | 20 |
| 7 | 384 | 20 |
| 8 | 470 | 20 |
| 9 | 483 | 20 |
| 10 | 509 | 20 |
| 11 | 462 | 20 |
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 |
| ▶ | 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 13.5b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) |
Compiled 88 to 48 computations (45.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| ✓ | 0.2b | (*.f64 (PI.f64) l) |
| ✓ | 3.1b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| ✓ | 28.2b | (tan.f64 (*.f64 (PI.f64) l)) |
4 calls:
| 92.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| 43.0ms | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 14.0ms | (tan.f64 (*.f64 (PI.f64) l)) |
| 2.0ms | (*.f64 (PI.f64) l) |
| 1× | rewrite-expression-head |
| 14× | add-sqr-sqrt_binary64 |
| 12× | *-un-lft-identity_binary64 |
| 12× | add-cube-cbrt_binary64 |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
4 calls:
| 7.0ms | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 4.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| 3.0ms | (*.f64 (PI.f64) l) |
| 1.0ms | (tan.f64 (*.f64 (PI.f64) l)) |
| 1× | egg-herbie |
| 782× | times-frac_binary64 |
| 624× | fma-def_binary64 |
| 610× | associate-/l*_binary64 |
| 223× | fma-neg_binary64 |
| 147× | cancel-sign-sub-inv_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 192 | 3051 |
| 1 | 478 | 2877 |
| 2 | 1544 | 2771 |
| 3 | 4922 | 2768 |
| 4 | 4881 | 2768 |
16 alts after pruning (16 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 127 | 16 | 143 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 129 | 16 | 145 |
| Status | Error | Program |
| 48.5b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 13.5b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 38.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 9.8b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))) (*.f64 F F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 52.8b | (neg.f64 (/.f64 (sin.f64 (*.f64 (PI.f64) l)) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) | |
| 12.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (PI.f64))) (*.f64 (cbrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 17.4b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 27.5b | (-.f64 (*.f64 (PI.f64) l) (exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| 28.3b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| ▶ | 9.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 38.3b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 38.2b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) |
Compiled 3826 to 1165 computations (69.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 0.2b | (*.f64 (PI.f64) l) | |
| ✓ | 0.5b | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 28.2b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 59.0ms | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 46.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | rewrite-expression-head |
| 405× | times-frac_binary64 |
| 195× | *-un-lft-identity_binary64 |
| 195× | add-sqr-sqrt_binary64 |
| 195× | add-cube-cbrt_binary64 |
| 47× | associate-/r*_binary64 |
2 calls:
| 42.0ms | (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) |
| 3.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | egg-herbie |
| 587× | fma-neg_binary64 |
| 352× | *-commutative_binary64 |
| 291× | fma-def_binary64 |
| 278× | associate-/r/_binary64 |
| 242× | unswap-sqr_binary64 |
Useful iterations: 6 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 280 | 8467 |
| 1 | 586 | 7416 |
| 2 | 1805 | 7073 |
| 3 | 2193 | 7067 |
| 4 | 2824 | 7067 |
| 5 | 4081 | 6913 |
| 6 | 4484 | 6901 |
| 7 | 4978 | 6901 |
| 8 | 4894 | 6901 |
17 alts after pruning (17 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 394 | 7 | 401 |
| Fresh | 5 | 10 | 15 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 400 | 17 | 417 |
| Status | Error | Program |
| 10.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 F)))))) | |
| 48.5b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 13.5b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 10.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (PI.f64))) (*.f64 l (cbrt.f64 (PI.f64))))) F)))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) | |
| 28.3b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))) (*.f64 F F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 52.8b | (neg.f64 (/.f64 (sin.f64 (*.f64 (PI.f64) l)) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) | |
| 37.4b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 17.4b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 38.3b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l)))) F)))) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l)))) (*.f64 F F))) | |
| ▶ | 9.8b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 F))) |
| 13.1b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l))) (*.f64 F F))) |
Compiled 11335 to 3629 computations (68% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 F)) |
| ✓ | 0.2b | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| ✓ | 1.0b | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 28.2b | (tan.f64 (*.f64 (PI.f64) l)) |
3 calls:
| 170.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 60.0ms | (*.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 F)) |
| 53.0ms | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 1× | rewrite-expression-head |
| 193× | times-frac_binary64 |
| 144× | add-sqr-sqrt_binary64 |
| 108× | *-un-lft-identity_binary64 |
| 99× | add-exp-log_binary64 |
| 97× | add-cube-cbrt_binary64 |
3 calls:
| 22.0ms | (*.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 F)) |
| 5.0ms | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 3.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 1× | egg-herbie |
| 826× | times-frac_binary64 |
| 784× | fma-def_binary64 |
| 573× | associate-/l*_binary64 |
| 372× | associate-/l/_binary64 |
| 351× | associate-/r/_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 242 | 6847 |
| 1 | 557 | 5949 |
| 2 | 1692 | 5875 |
| 3 | 4445 | 5871 |
| 4 | 5057 | 5871 |
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 382 | 5 | 387 |
| Fresh | 8 | 8 | 16 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 391 | 13 | 404 |
| Status | Error | Program |
| 48.5b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 13.5b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 52.8b | (neg.f64 (/.f64 (sin.f64 (*.f64 (PI.f64) l)) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) | |
| 14.7b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (cbrt.f64 (*.f64 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))) (/.f64 1 F))) | |
| 37.4b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 17.4b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 9.8b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 (/.f64 1 F) (/.f64 1 (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))) (/.f64 1 F))) | |
| 38.3b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 2.4b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 l 5) F))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))) (/.f64 1 F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) | |
| 9.8b | (-.f64 (*.f64 (PI.f64) l) (pow.f64 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F) -1)) | |
| ▶ | 2.4b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 (*.f64 l F) 1/3) (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))))))) (/.f64 1 F))) |
Compiled 10680 to 4202 computations (60.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.7b | (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 (*.f64 l F) 1/3) (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))))))) |
| ✓ | 1.0b | (pow.f64 (PI.f64) 3) |
| ✓ | 1.0b | (pow.f64 (PI.f64) 5) |
| ✓ | 4.8b | (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5))))) |
4 calls:
| 560.0ms | (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 (*.f64 l F) 1/3) (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))))))) |
| 105.0ms | (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5))))) |
| 0.0ms | (pow.f64 (PI.f64) 5) |
| 0.0ms | (pow.f64 (PI.f64) 3) |
| 1× | rewrite-expression-head |
| 31× | add-sqr-sqrt_binary64 |
| 29× | *-un-lft-identity_binary64 |
| 21× | add-cube-cbrt_binary64 |
| 15× | times-frac_binary64 |
| 12× | add-exp-log_binary64 |
4 calls:
| 7.0ms | (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 (*.f64 l F) 1/3) (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))))))) |
| 3.0ms | (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5))))) |
| 1.0ms | (pow.f64 (PI.f64) 3) |
| 1.0ms | (pow.f64 (PI.f64) 5) |
| 1× | egg-herbie |
| 395× | associate-/l*_binary64 |
| 316× | fma-def_binary64 |
| 286× | distribute-rgt-in_binary64 |
| 273× | distribute-lft-in_binary64 |
| 265× | unswap-sqr_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 233 | 6350 |
| 1 | 517 | 5645 |
| 2 | 1852 | 5615 |
| 3 | 4920 | 5615 |
| 4 | 4886 | 5615 |
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 166 | 3 | 169 |
| Fresh | 1 | 11 | 12 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 168 | 14 | 182 |
| Status | Error | Program |
| 2.4b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 (*.f64 l F) 1/3) (*.f64 F (fma.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)) (*.f64 2/945 (*.f64 (pow.f64 (pow.f64 (PI.f64) (sqrt.f64 5)) (sqrt.f64 5)) (pow.f64 l 5)))))))) (/.f64 1 F))) | |
| 4.5b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (expm1.f64 (log1p.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 1/3 (*.f64 l F)) (*.f64 (fma.f64 1/45 (pow.f64 (*.f64 (PI.f64) l) 3) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))) F)))))) (/.f64 1 F))) | |
| 48.5b | (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (+.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) | |
| 13.5b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 52.8b | (neg.f64 (/.f64 (sin.f64 (*.f64 (PI.f64) l)) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) | |
| 14.7b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (cbrt.f64 (*.f64 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))) (/.f64 1 F))) | |
| 37.4b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 17.4b | (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) | |
| 9.8b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 (/.f64 1 F) (/.f64 1 (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))) (/.f64 1 F))) | |
| 38.3b | (-.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 9.9b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (cbrt.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) | |
| 2.7b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 (PI.f64) (*.f64 (*.f64 l F) 1/3) (log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/45 (pow.f64 (*.f64 (PI.f64) l) 3) (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (pow.f64 l 5)))) F)))))) (/.f64 1 F))) | |
| 9.8b | (-.f64 (*.f64 (PI.f64) l) (pow.f64 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F) -1)) |
Compiled 9807 to 5851 computations (40.3% saved)
Total 1.0b remaining (42.3%)
Threshold costs 1.0b (42.3%)
Compiled 51632 to 31862 computations (38.3% saved)
| 1× | egg-herbie |
| 10× | *-commutative_binary64 |
| 6× | +-commutative_binary64 |
| 6× | sub-neg_binary64 |
| 4× | neg-sub0_binary64 |
| 4× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 62 |
| 1 | 41 | 62 |
| 2 | 55 | 62 |
| 3 | 64 | 62 |
| 4 | 69 | 62 |
| 5 | 70 | 62 |
| 6 | 68 | 62 |
Compiled 41 to 28 computations (31.7% saved)
| 1× | intervals |
| 957.0ms | 1026× | body | 2048 | valid |
| 570.0ms | 1853× | body | 1024 | valid |
| 269.0ms | 4111× | body | 128 | valid |
| 147.0ms | 42× | body | 4096 | valid |
| 138.0ms | 680× | body | 512 | valid |
| 43.0ms | 288× | body | 256 | valid |
| 11.0ms | 166× | body | 128 | invalid |
| 3.0ms | 7× | body | 2048 | invalid |
| 1.0ms | 2× | body | 8192 | exit |
Compiled 483 to 271 computations (43.9% saved)
Loading profile data...