Time bar (total: 8.6s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 99.9% | 0% | 0.1% | 1 |
Compiled 10 to 7 computations (30% saved)
| 2.5s | 3582× | body | 1024 | valid |
| 1.6s | 1232× | body | 2048 | valid |
| 586.0ms | 1425× | body | 512 | valid |
| 199.0ms | 1374× | body | 128 | valid |
| 183.0ms | 640× | body | 256 | valid |
| 8.0ms | 3× | body | 4096 | valid |
Compiled 29 to 20 computations (31% saved)
| 1× | egg-herbie |
| 39× | fma-def_binary64 |
| 32× | fma-neg_binary64 |
| 14× | cancel-sign-sub-inv_binary64 |
| 12× | sub-neg_binary64 |
| 10× | distribute-rgt-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 10 | 11 |
| 2 | 15 | 11 |
| 3 | 22 | 11 |
| 4 | 29 | 11 |
| 5 | 46 | 11 |
| 6 | 72 | 11 |
| 7 | 93 | 11 |
| 8 | 110 | 11 |
| 9 | 120 | 11 |
| 10 | 124 | 11 |
| 11 | 126 | 11 |
| 12 | 112 | 11 |
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 |
| ▶ | 34.6b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 27 to 18 computations (33.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 1.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| ✓ | 3.6b | (sin.f64 (+.f64 x eps)) |
2 calls:
| 6.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 4.0ms | (sin.f64 (+.f64 x eps)) |
| 1× | rewrite-expression-head |
| 12× | *-un-lft-identity_binary64 |
| 12× | add-sqr-sqrt_binary64 |
| 10× | add-cube-cbrt_binary64 |
| 9× | prod-diff_binary64 |
| 4× | add-log-exp_binary64 |
2 calls:
| 6.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 3.0ms | (sin.f64 (+.f64 x eps)) |
| 1× | egg-herbie |
| 639× | fma-neg_binary64 |
| 483× | fma-def_binary64 |
| 351× | cancel-sign-sub-inv_binary64 |
| 291× | sub-neg_binary64 |
| 284× | associate-+l-_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 128 | 1256 |
| 1 | 297 | 1180 |
| 2 | 960 | 1116 |
| 3 | 2426 | 1108 |
| 4 | 4776 | 1108 |
| 5 | 4953 | 1108 |
| 6 | 4839 | 1108 |
5 alts after pruning (5 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 87 | 5 | 92 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 88 | 5 | 93 |
| Status | Error | Program |
| 34.1b | (-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) | |
| 34.1b | (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2))) | |
| 42.2b | (log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (exp.f64 (sin.f64 x)))) | |
| ▶ | 19.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 19.7b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
Compiled 1747 to 567 computations (67.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (*.f64 (sin.f64 x) (cos.f64 eps)) |
| ✓ | 0.1b | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| ✓ | 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| ✓ | 3.0b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
4 calls:
| 18.0ms | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 11.0ms | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| 9.0ms | (*.f64 (sin.f64 x) (cos.f64 eps)) |
| 9.0ms | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| 1× | rewrite-expression-head |
| 16× | add-sqr-sqrt_binary64 |
| 12× | *-un-lft-identity_binary64 |
| 12× | add-cube-cbrt_binary64 |
| 11× | add-log-exp_binary64 |
| 8× | add-cbrt-cube_binary64 |
4 calls:
| 8.0ms | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 4.0ms | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| 3.0ms | (*.f64 (sin.f64 x) (cos.f64 eps)) |
| 3.0ms | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| 1× | egg-herbie |
| 1032× | fma-neg_binary64 |
| 429× | distribute-rgt-in_binary64 |
| 243× | associate-*r*_binary64 |
| 235× | associate-*l*_binary64 |
| 225× | distribute-rgt-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 242 | 2802 |
| 1 | 644 | 2630 |
| 2 | 2370 | 2544 |
| 3 | 4765 | 2537 |
| 4 | 5246 | 2537 |
10 alts after pruning (10 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 183 | 9 | 192 |
| Fresh | 3 | 1 | 4 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 187 | 10 | 197 |
| Status | Error | Program |
| 29.1b | (*.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) | |
| 34.1b | (fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2)))) | |
| 34.1b | (-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) | |
| 27.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (sin.f64 x))))) | |
| ▶ | 4.9b | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
| 20.5b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x))) | |
| 20.5b | (*.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) | |
| 18.9b | (cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3)) | |
| 20.2b | (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 26.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps))) (sin.f64 x))) |
Compiled 4926 to 1403 computations (71.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| ✓ | 0.3b | (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
| ✓ | 1.8b | (+.f64 (cos.f64 eps) -1) |
| ✓ | 4.7b | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
4 calls:
| 59.0ms | (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
| 17.0ms | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
| 17.0ms | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 2.0ms | (+.f64 (cos.f64 eps) -1) |
| 1× | rewrite-expression-head |
| 12× | add-sqr-sqrt_binary64 |
| 11× | *-un-lft-identity_binary64 |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
| 9× | add-cube-cbrt_binary64 |
4 calls:
| 4.0ms | (+.f64 (cos.f64 eps) -1) |
| 3.0ms | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
| 3.0ms | (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) |
| 0.0ms | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 1× | egg-herbie |
| 822× | fma-def_binary64 |
| 515× | times-frac_binary64 |
| 503× | cancel-sign-sub-inv_binary64 |
| 459× | fma-neg_binary64 |
| 295× | div-sub_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 218 | 4852 |
| 1 | 561 | 4240 |
| 2 | 1967 | 4208 |
| 3 | 4221 | 4208 |
| 4 | 5398 | 4208 |
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 152 | 9 | 161 |
| Fresh | 5 | 4 | 9 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 158 | 13 | 171 |
| Status | Error | Program |
| 5.0b | (/.f64 1 (/.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))) (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))))) | |
| 2.6b | (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))))) | |
| 1.7b | (*.f64 (/.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) (*.f64 (cbrt.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (/.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) | |
| 20.5b | (*.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) | |
| 20.2b | (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 18.9b | (/.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 5.1b | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 eps)) (cbrt.f64 (cos.f64 eps))) (cbrt.f64 (cos.f64 eps)) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 27.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (sin.f64 x))))) | |
| 44.5b | (/.f64 (*.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 4.8b | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 5.9b | (/.f64 (*.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (cbrt.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))))) (cbrt.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 26.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps))) (sin.f64 x))) | |
| ▶ | 0.6b | (/.f64 1 (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))))) |
Compiled 8362 to 2035 computations (75.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
| ✓ | 0.2b | (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))) |
| ✓ | 0.3b | (/.f64 1 (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))))) |
| ✓ | 1.8b | (-.f64 (cos.f64 eps) 1) |
4 calls:
| 85.0ms | (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))) |
| 18.0ms | (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
| 17.0ms | (/.f64 1 (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))))) |
| 2.0ms | (-.f64 (cos.f64 eps) 1) |
| 1× | rewrite-expression-head |
| 84× | times-frac_binary64 |
| 66× | add-sqr-sqrt_binary64 |
| 65× | *-un-lft-identity_binary64 |
| 62× | add-cube-cbrt_binary64 |
| 28× | add-exp-log_binary64 |
4 calls:
| 4.0ms | (/.f64 1 (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))))) |
| 4.0ms | (-.f64 (cos.f64 eps) 1) |
| 2.0ms | (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))) |
| 0.0ms | (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
| 1× | egg-herbie |
| 701× | fma-def_binary64 |
| 585× | associate-/l*_binary64 |
| 310× | fma-neg_binary64 |
| 307× | cancel-sign-sub-inv_binary64 |
| 176× | associate-/r/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 247 | 6529 |
| 1 | 579 | 5942 |
| 2 | 1902 | 5900 |
| 3 | 4795 | 5900 |
| 4 | 4999 | 5900 |
| 5 | 4953 | 5900 |
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 250 | 4 | 254 |
| Fresh | 2 | 10 | 12 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 253 | 14 | 267 |
| Status | Error | Program |
| 4.8b | (/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 33.4b | (/.f64 1 (fma.f64 1/8 (/.f64 (*.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 4)) (fma.f64 1/6 (/.f64 eps (cos.f64 x)) (fma.f64 1/4 (/.f64 (*.f64 eps (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 3)) (fma.f64 1/8 (*.f64 (/.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2)) (*.f64 eps eps)) (fma.f64 1/2 (/.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (*.f64 eps (cos.f64 x))))))))) | |
| 1.7b | (*.f64 (/.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) (*.f64 (cbrt.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (/.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) | |
| 20.5b | (*.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) | |
| 20.2b | (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 18.9b | (/.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 0.6b | (/.f64 1 (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (/.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))))) | |
| 5.0b | (/.f64 1 (/.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))) (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))))) | |
| 27.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (sin.f64 x))))) | |
| 44.5b | (/.f64 (*.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 0.5b | (/.f64 1 (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))))) | |
| 0.5b | (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) 1) | |
| 5.9b | (/.f64 (*.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (cbrt.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))))) (cbrt.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x)))) | |
| 26.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps))) (sin.f64 x))) |
Compiled 7775 to 4205 computations (45.9% saved)
Total 0.3b remaining (83.5%)
Threshold costs 0.3b (83.5%)
Compiled 25659 to 15707 computations (38.8% saved)
| 1× | egg-herbie |
| 2× | *-commutative_binary64 |
| 1× | +-commutative_binary64 |
| 1× | *-rgt-identity_binary64 |
| 1× | sub-neg_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 19 |
| 1 | 19 | 19 |
| 2 | 20 | 19 |
| 3 | 18 | 19 |
Compiled 616 to 275 computations (55.4% saved)
Loading profile data...