Time bar (total: 8.8s)
| 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.1s | 1013× | body | 2048 | valid |
| 1.0s | 1931× | body | 1024 | valid |
| 532.0ms | 4185× | body | 128 | valid |
| 274.0ms | 765× | body | 512 | valid |
| 135.0ms | 38× | body | 4096 | valid |
| 79.0ms | 324× | body | 256 | valid |
| 26.0ms | 196× | body | 128 | invalid |
| 8.0ms | 12× | body | 2048 | invalid |
| 5.0ms | 7× | body | 8192 | exit |
Compiled 50 to 32 computations (36% 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 |
| ▶ | 16.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 16.9b | (-.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) |
| ✓ | 4.3b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| ✓ | 31.3b | (tan.f64 (*.f64 (PI.f64) l)) |
4 calls:
| 86.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) |
| 40.0ms | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) |
| 12.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:
| 4.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 |
19 alts after pruning (19 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 124 | 19 | 143 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 126 | 19 | 145 |
| Status | Error | Program |
| 41.2b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 41.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (exp.f64 (+.f64 (log.f64 (PI.f64)) (log.f64 l)))) (*.f64 F F))) | |
| 17.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 44.1b | (/.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)))))) | |
| 33.1b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l))) (*.f64 F F))) | |
| 17.2b | (-.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))) | |
| 16.8b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.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))) | |
| 21.2b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 36.3b | (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (*.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)))) | |
| 16.8b | (-.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))) | |
| ▶ | 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) | |
| 39.9b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) | |
| 13.0b | (-.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))) | |
| 42.4b | (*.f64 (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 37.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F))) |
Compiled 4038 to 1235 computations (69.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) |
| ✓ | 0.2b | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 0.2b | (*.f64 (PI.f64) l) | |
| 31.3b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 59.0ms | (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) |
| 39.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | rewrite-expression-head |
| 84× | times-frac_binary64 |
| 52× | *-un-lft-identity_binary64 |
| 52× | add-sqr-sqrt_binary64 |
| 52× | add-cube-cbrt_binary64 |
| 16× | associate-/l*_binary64 |
2 calls:
| 5.0ms | (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) |
| 3.0ms | (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) |
| 1× | egg-herbie |
| 699× | times-frac_binary64 |
| 602× | unswap-sqr_binary64 |
| 440× | associate-/l/_binary64 |
| 422× | associate-/l*_binary64 |
| 359× | associate-/r*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 191 | 3604 |
| 1 | 430 | 3466 |
| 2 | 986 | 3390 |
| 3 | 3679 | 3366 |
| 4 | 4197 | 3361 |
| 5 | 5141 | 3361 |
19 alts after pruning (19 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 216 | 8 | 224 |
| Fresh | 7 | 11 | 18 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 224 | 19 | 243 |
| Status | Error | Program |
| ▶ | 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) F)) |
| 41.2b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 41.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (exp.f64 (+.f64 (log.f64 (PI.f64)) (log.f64 l)))) (*.f64 F F))) | |
| 17.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 l (sqrt.f64 (PI.f64))))) F) F)) | |
| 44.1b | (/.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)))))) | |
| 33.1b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 13.0b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 F)))) | |
| 42.4b | (*.f64 (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.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))) | |
| 21.2b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| 36.3b | (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (*.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)))) | |
| 16.8b | (-.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))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) | |
| 37.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) F) F)) | |
| 13.3b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) | |
| 13.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 F))) F)) |
Compiled 5729 to 1664 computations (71% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (*.f64 (PI.f64) l) | |
| ✓ | 0.3b | (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))) |
| ✓ | 0.3b | (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))) |
| 31.3b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 13.0ms | (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))) |
| 13.0ms | (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))) |
| 1× | rewrite-expression-head |
| 3× | log1p-expm1-u_binary64 |
| 2× | *-un-lft-identity_binary64 |
| 2× | add-sqr-sqrt_binary64 |
| 2× | add-cube-cbrt_binary64 |
| 2× | add-cbrt-cube_binary64 |
2 calls:
| 0.0ms | (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))) |
| 0.0ms | (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))) |
| 1× | egg-herbie |
| 854× | distribute-lft-out_binary64 |
| 633× | sqr-pow_binary64 |
| 591× | *-commutative_binary64 |
| 444× | associate-+l+_binary64 |
| 388× | unswap-sqr_binary64 |
Useful iterations: 6 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 737 |
| 1 | 166 | 703 |
| 2 | 428 | 700 |
| 3 | 1480 | 692 |
| 4 | 2245 | 680 |
| 5 | 2904 | 680 |
| 6 | 3158 | 674 |
| 7 | 3595 | 674 |
| 8 | 3794 | 674 |
| 9 | 4044 | 674 |
| 10 | 4349 | 674 |
| 11 | 4633 | 674 |
| 12 | 4899 | 674 |
21 alts after pruning (20 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 104 | 2 | 106 |
| Fresh | 0 | 18 | 18 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 104 | 21 | 125 |
| Status | Error | Program |
| ✓ | 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) F)) |
| 41.2b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 41.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (exp.f64 (+.f64 (log.f64 (PI.f64)) (log.f64 l)))) (*.f64 F F))) | |
| 17.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 13.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 F))) F)) | |
| 13.0b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (PI.f64))) (*.f64 l (cbrt.f64 (PI.f64))))))) F) F)) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 l (sqrt.f64 (PI.f64))))) F) F)) | |
| 44.1b | (/.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)))))) | |
| 33.1b | (expm1.f64 (log1p.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 13.0b | (-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 F)))) | |
| 42.4b | (*.f64 (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.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))) | |
| 21.2b | (-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 16.6b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) F)) | |
| 36.3b | (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (*.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)))) | |
| 16.8b | (-.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))) | |
| ▶ | 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) F)) |
| 37.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) F) F)) | |
| 13.3b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) | |
| 39.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))))) F) F)) |
Compiled 3125 to 1249 computations (60% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 0.2b | (*.f64 (PI.f64) l) | |
| ✓ | 0.5b | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 31.3b | (tan.f64 (*.f64 (PI.f64) l)) |
2 calls:
| 70.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 39.0ms | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 1× | rewrite-expression-head |
| 87× | times-frac_binary64 |
| 53× | *-un-lft-identity_binary64 |
| 53× | add-sqr-sqrt_binary64 |
| 53× | add-cube-cbrt_binary64 |
| 17× | associate-/r*_binary64 |
2 calls:
| 5.0ms | (/.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) |
| 2.0ms | (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) |
| 1× | egg-herbie |
| 495× | distribute-rgt-neg-in_binary64 |
| 469× | distribute-lft-neg-in_binary64 |
| 412× | associate-*l*_binary64 |
| 397× | associate-*r*_binary64 |
| 312× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 158 | 3444 |
| 1 | 327 | 3146 |
| 2 | 940 | 3099 |
| 3 | 3082 | 3095 |
| 4 | 4815 | 3095 |
| 5 | 5030 | 3095 |
11 alts after pruning (10 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 219 | 3 | 222 |
| Fresh | 12 | 7 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 232 | 11 | 243 |
| Status | Error | Program |
| ✓ | 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))) F) F)) |
| 41.2b | (-.f64 (*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 17.3b | (-.f64 (*.f64 (*.f64 (PI.f64) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))) | |
| 13.3b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (*.f64 (PI.f64) l))) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) | |
| 12.7b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (/.f64 1 F) (/.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) F)) | |
| 44.1b | (/.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)))))) | |
| 42.4b | (*.f64 (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (sqrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) | |
| 12.8b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))) (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) F)) | |
| 36.3b | (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) l)) (*.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)))) | |
| 1.4b | (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))))) F)) |
Compiled 5326 to 1907 computations (64.2% saved)
Total 0.4b remaining (17.7%)
Threshold costs 0.4b (17.7%)
Compiled 33644 to 19556 computations (41.9% saved)
| 1× | egg-herbie |
| 30× | *-commutative_binary64 |
| 24× | +-commutative_binary64 |
| 22× | sub-neg_binary64 |
| 20× | neg-sub0_binary64 |
| 20× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 72 |
| 1 | 49 | 72 |
| 2 | 62 | 72 |
| 3 | 87 | 72 |
| 4 | 123 | 72 |
| 5 | 158 | 72 |
| 6 | 191 | 72 |
| 7 | 211 | 72 |
| 8 | 221 | 72 |
| 9 | 223 | 72 |
| 10 | 218 | 72 |
Compiled 410 to 211 computations (48.5% saved)
Loading profile data...