
Time bar (total: 8.8s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 14 to 11 computations (21.4% saved)
| 623.0ms | 2562× | body | 256 | valid |
| 544.0ms | 1053× | body | 1024 | valid |
| 442.0ms | 2575× | body | 256 | infinite |
| 390.0ms | 997× | body | 1024 | infinite |
| 165.0ms | 548× | body | 512 | valid |
| 149.0ms | 520× | body | 512 | infinite |
| 2.0ms | 1× | body | 2048 | valid |
| 1× | egg-herbie |
| 1664× | fma-def |
| 928× | associate-/r/ |
| 792× | sqr-pow |
| 750× | associate-/l/ |
| 676× | fabs-mul |
| 256× | No Errors |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 175 |
| 1 | 81 | 175 |
| 2 | 182 | 175 |
| 3 | 343 | 165 |
| 4 | 674 | 165 |
| 5 | 1905 | 165 |
| 6 | 3540 | 165 |
| 7 | 3945 | 165 |
| 8 | 4964 | 165 |
| 9 | 5834 | 165 |
| 10 | 7272 | 165 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))) |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) |
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) |
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) |
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) |
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))) |
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re)))) |
(abs re)
(abs im)
Compiled 49 to 24 computations (51% saved)
Compiled 24 to 15 computations (37.5% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 26 to 20 computations (23.1% saved)
Found 2 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 36 to 14 computations (61.1% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | im | @ | inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 1.0ms | re | @ | -inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 1.0ms | re | @ | inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 1.0ms | re | @ | 0 | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 1.0ms | im | @ | -inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 1× | batch-egg-rewrite |
| 282× | add-sqr-sqrt |
| 272× | pow1 |
| 272× | *-un-lft-identity |
| 264× | add-exp-log |
| 262× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 54 |
| 1 | 273 | 54 |
| 2 | 4277 | 54 |
| 1× | unsound |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| Outputs |
|---|
(+.f64 (cos.f64 re) (cos.f64 re)) |
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1) |
(/.f64 (*.f64 (cos.f64 re) -2) -2) |
(/.f64 (*.f64 (cos.f64 re) -2) 1) |
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))) |
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))) |
(pow.f64 (*.f64 (cos.f64 re) -2) -2) |
(pow.f64 (*.f64 (cos.f64 re) -2) 1) |
(pow.f64 (*.f64 (cos.f64 re) -2) 3) |
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3) |
(sqrt.f64 (*.f64 (cos.f64 re) -2)) |
(fabs.f64 (*.f64 (cos.f64 re) -2)) |
(log.f64 (pow.f64 1 (cos.f64 re))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2)))) |
(cbrt.f64 (*.f64 (cos.f64 re) -2)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) |
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1)) |
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2)) |
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2))) |
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) |
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2)) |
-2 |
0 |
1/512 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
2 |
im |
| 1× | egg-herbie |
| 1156× | fma-neg |
| 1130× | div-sub |
| 878× | fma-def |
| 726× | associate-*r* |
| 602× | associate-*l* |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 110 | 1290 |
| 1 | 320 | 1160 |
| 2 | 1007 | 1160 |
| 3 | 5200 | 1160 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(cos.f64 re) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) |
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (cos.f64 re) (cos.f64 re)) |
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1) |
(/.f64 (*.f64 (cos.f64 re) -2) -2) |
(/.f64 (*.f64 (cos.f64 re) -2) 1) |
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))) |
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))) |
(pow.f64 (*.f64 (cos.f64 re) -2) -2) |
(pow.f64 (*.f64 (cos.f64 re) -2) 1) |
(pow.f64 (*.f64 (cos.f64 re) -2) 3) |
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3) |
(sqrt.f64 (*.f64 (cos.f64 re) -2)) |
(fabs.f64 (*.f64 (cos.f64 re) -2)) |
(log.f64 (pow.f64 1 (cos.f64 re))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2)))) |
(cbrt.f64 (*.f64 (cos.f64 re) -2)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) |
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1)) |
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2)) |
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2))) |
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) |
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2)) |
-2 |
0 |
1/512 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
2 |
| Outputs |
|---|
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(fma.f64 (*.f64 -1/4 (*.f64 re re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) |
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) |
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 -1/1440 (pow.f64 re 6))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(cos.f64 re) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) |
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))) |
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4))))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) |
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))) |
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) |
2 |
(cos.f64 re) |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (*.f64 im im)) |
(fma.f64 im im 2) |
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) |
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) |
(+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) |
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (cos.f64 re) (cos.f64 re)) |
(cos.f64 re) |
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) |
(cos.f64 re) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1) |
(cos.f64 re) |
(/.f64 (*.f64 (cos.f64 re) -2) -2) |
(cos.f64 re) |
(/.f64 (*.f64 (cos.f64 re) -2) 1) |
(cos.f64 re) |
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))) |
(cos.f64 re) |
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))) |
(cos.f64 re) |
(pow.f64 (*.f64 (cos.f64 re) -2) -2) |
(cos.f64 re) |
(pow.f64 (*.f64 (cos.f64 re) -2) 1) |
(cos.f64 re) |
(pow.f64 (*.f64 (cos.f64 re) -2) 3) |
(cos.f64 re) |
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3) |
(cos.f64 re) |
(sqrt.f64 (*.f64 (cos.f64 re) -2)) |
(cos.f64 re) |
(fabs.f64 (*.f64 (cos.f64 re) -2)) |
(cos.f64 re) |
(log.f64 (pow.f64 1 (cos.f64 re))) |
(cos.f64 re) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2)))) |
(cos.f64 re) |
(cbrt.f64 (*.f64 (cos.f64 re) -2)) |
(cos.f64 re) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) |
(cos.f64 re) |
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2))) |
(cos.f64 re) |
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1)) |
(cos.f64 re) |
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2)) |
(cos.f64 re) |
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2))) |
(cos.f64 re) |
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) |
(cos.f64 re) |
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2)) |
(cos.f64 re) |
-2 |
(cos.f64 re) |
0 |
(cos.f64 re) |
1/512 |
1/64 |
1/16 |
1/8 |
(cos.f64 re) |
1/4 |
(cos.f64 re) |
1/2 |
(cos.f64 re) |
2 |
(cos.f64 re) |
Compiled 875 to 462 computations (47.2% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 61 | 5 | 66 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 61 | 6 | 67 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 64.3% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 90.5% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| ▶ | 79.3% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
| ▶ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 52.1% | (cos.f64 re) |
| ▶ | 64.3% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 90.5% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| ▶ | 79.3% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
| ▶ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 52.1% | (cos.f64 re) |
Compiled 262 to 200 computations (23.7% saved)
Found 7 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
| ✓ | 100.0% | (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
| ✓ | 100.0% | (*.f64 -1/4 (*.f64 re re)) |
| ✓ | 100.0% | (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
| ✓ | 99.9% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| ✓ | 99.6% | (*.f64 (pow.f64 im 4) 1/12) |
Compiled 156 to 71 computations (54.5% saved)
27 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | re | @ | -inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| 1.0ms | re | @ | inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| 1.0ms | re | @ | 0 | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| 1.0ms | re | @ | inf | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
| 1.0ms | re | @ | 0 | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
| 1× | batch-egg-rewrite |
| 614× | add-sqr-sqrt |
| 594× | pow1 |
| 592× | *-un-lft-identity |
| 578× | add-exp-log |
| 576× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 28 | 133 |
| 1 | 616 | 133 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 im 4) 1/12) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(*.f64 -1/4 (*.f64 re re)) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
| Outputs |
|---|
1/5159780352 |
1/2985984 |
1/20736 |
1/1728 |
1/144 |
1/12 |
13/12 |
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) |
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (cos.f64 re)) |
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) -2) |
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/5159780352) |
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) (+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352)))) |
(/.f64 (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/3) |
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(fabs.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re))) |
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))) |
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2)) |
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352)) |
(fma.f64 -2 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) |
(+.f64 (cos.f64 re) (cos.f64 re)) |
(+.f64 -2 (cos.f64 re)) |
(-.f64 (cos.f64 re) -2) |
(/.f64 (cos.f64 re) -2) |
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re)))) |
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re))) |
(pow.f64 (cos.f64 re) -2) |
(pow.f64 (cos.f64 re) 1/3) |
(sqrt.f64 (cos.f64 re)) |
(fabs.f64 (cos.f64 re)) |
(log.f64 (exp.f64 (cos.f64 re))) |
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re)))) |
(cbrt.f64 (cos.f64 re)) |
(cos.f64 re) |
(expm1.f64 (log.f64 (cos.f64 re))) |
(exp.f64 (log.f64 (cos.f64 re))) |
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2)) |
(log1p.f64 (expm1.f64 (cos.f64 re))) |
(fma.f64 (cos.f64 re) -2 (cos.f64 re)) |
(fma.f64 -2 (cos.f64 re) (cos.f64 re)) |
-2 |
-1 |
-1/2 |
-1/4 |
-1/8 |
-1/64 |
-1/262144 |
0 |
1/4096 |
1/512 |
1/256 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
3/4 |
1 |
3/2 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
16 |
27 |
64 |
256 |
512 |
4096 |
262144 |
im |
(+.f64 re re) |
(+.f64 re -2) |
(+.f64 re (neg.f64 re)) |
(+.f64 re (fma.f64 (neg.f64 re) -2 re)) |
(+.f64 -2 re) |
(+.f64 -2 (neg.f64 re)) |
(+.f64 -2 (*.f64 (neg.f64 re) re)) |
(+.f64 -2 (*.f64 (neg.f64 re) -2)) |
(-.f64 re re) |
(-.f64 re -2) |
(-.f64 -2 re) |
(/.f64 re re) |
(/.f64 -2 re) |
(/.f64 (neg.f64 re) (neg.f64 re)) |
(pow.f64 re -2) |
(pow.f64 re 1/3) |
(sqrt.f64 re) |
(fabs.f64 re) |
(log.f64 (exp.f64 re)) |
(log.f64 (+.f64 -2 (expm1.f64 re))) |
(cbrt.f64 re) |
re |
(expm1.f64 (log.f64 re)) |
(exp.f64 (log.f64 re)) |
(exp.f64 (*.f64 (log.f64 re) -2)) |
(log1p.f64 (expm1.f64 re)) |
(fma.f64 re re -2) |
(fma.f64 re re (neg.f64 re)) |
(fma.f64 re -2 -2) |
(fma.f64 -2 re -2) |
(-.f64 re re) |
(-.f64 re -2) |
(-.f64 -2 re) |
(*.f64 re re) |
(*.f64 re -2) |
(*.f64 -2 re) |
(/.f64 re re) |
(/.f64 -2 re) |
(/.f64 (neg.f64 re) (neg.f64 re)) |
(pow.f64 re -2) |
(pow.f64 re 1/3) |
(sqrt.f64 re) |
(fabs.f64 re) |
(log.f64 (exp.f64 re)) |
(log.f64 (+.f64 -2 (expm1.f64 re))) |
(cbrt.f64 re) |
re |
(expm1.f64 (log.f64 re)) |
(exp.f64 (log.f64 re)) |
(exp.f64 (*.f64 (log.f64 re) -2)) |
(log1p.f64 (expm1.f64 re)) |
(fma.f64 re re -2) |
(fma.f64 re re (neg.f64 re)) |
(fma.f64 re -2 -2) |
(fma.f64 -2 re -2) |
-2 |
-1 |
-1/2 |
-1/4 |
-1/8 |
-1/64 |
-1/262144 |
0 |
1/4096 |
1/512 |
1/256 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
3/4 |
1 |
3/2 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
16 |
27 |
64 |
256 |
512 |
4096 |
262144 |
im |
| 1× | egg-herbie |
| 1390× | fma-def |
| 952× | associate-+r+ |
| 884× | associate-+l+ |
| 772× | associate-*r* |
| 662× | distribute-lft-in |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 205 | 3852 |
| 1 | 468 | 3360 |
| 2 | 1270 | 3112 |
| 3 | 6630 | 3112 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(cos.f64 re) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (+.f64 2 (pow.f64 im 2))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(cos.f64 re) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) |
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 re 2)) |
1/2 |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(*.f64 -1/4 (pow.f64 re 2)) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(*.f64 -1/4 (pow.f64 re 2)) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) |
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
1/5159780352 |
1/2985984 |
1/20736 |
1/1728 |
1/144 |
1/12 |
13/12 |
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) |
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (cos.f64 re)) |
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) -2) |
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/5159780352) |
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) (+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352)))) |
(/.f64 (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/3) |
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(fabs.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re))) |
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))) |
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2)) |
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352)) |
(fma.f64 -2 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) |
(+.f64 (cos.f64 re) (cos.f64 re)) |
(+.f64 -2 (cos.f64 re)) |
(-.f64 (cos.f64 re) -2) |
(/.f64 (cos.f64 re) -2) |
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re)))) |
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re))) |
(pow.f64 (cos.f64 re) -2) |
(pow.f64 (cos.f64 re) 1/3) |
(sqrt.f64 (cos.f64 re)) |
(fabs.f64 (cos.f64 re)) |
(log.f64 (exp.f64 (cos.f64 re))) |
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re)))) |
(cbrt.f64 (cos.f64 re)) |
(cos.f64 re) |
(expm1.f64 (log.f64 (cos.f64 re))) |
(exp.f64 (log.f64 (cos.f64 re))) |
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2)) |
(log1p.f64 (expm1.f64 (cos.f64 re))) |
(fma.f64 (cos.f64 re) -2 (cos.f64 re)) |
(fma.f64 -2 (cos.f64 re) (cos.f64 re)) |
-2 |
-1 |
-1/2 |
-1/4 |
-1/8 |
-1/64 |
-1/262144 |
0 |
1/4096 |
1/512 |
1/256 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
3/4 |
1 |
3/2 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
16 |
27 |
64 |
256 |
512 |
4096 |
262144 |
(+.f64 re re) |
(+.f64 re -2) |
(+.f64 re (neg.f64 re)) |
(+.f64 re (fma.f64 (neg.f64 re) -2 re)) |
(+.f64 -2 re) |
(+.f64 -2 (neg.f64 re)) |
(+.f64 -2 (*.f64 (neg.f64 re) re)) |
(+.f64 -2 (*.f64 (neg.f64 re) -2)) |
(-.f64 re re) |
(-.f64 re -2) |
(-.f64 -2 re) |
(/.f64 re re) |
(/.f64 -2 re) |
(/.f64 (neg.f64 re) (neg.f64 re)) |
(pow.f64 re -2) |
(pow.f64 re 1/3) |
(sqrt.f64 re) |
(fabs.f64 re) |
(log.f64 (exp.f64 re)) |
(log.f64 (+.f64 -2 (expm1.f64 re))) |
(cbrt.f64 re) |
(expm1.f64 (log.f64 re)) |
(exp.f64 (log.f64 re)) |
(exp.f64 (*.f64 (log.f64 re) -2)) |
(log1p.f64 (expm1.f64 re)) |
(fma.f64 re re -2) |
(fma.f64 re re (neg.f64 re)) |
(fma.f64 re -2 -2) |
(fma.f64 -2 re -2) |
(-.f64 re re) |
(-.f64 re -2) |
(-.f64 -2 re) |
(*.f64 re re) |
(*.f64 re -2) |
(*.f64 -2 re) |
(/.f64 re re) |
(/.f64 -2 re) |
(/.f64 (neg.f64 re) (neg.f64 re)) |
(pow.f64 re -2) |
(pow.f64 re 1/3) |
(sqrt.f64 re) |
(fabs.f64 re) |
(log.f64 (exp.f64 re)) |
(log.f64 (+.f64 -2 (expm1.f64 re))) |
(cbrt.f64 re) |
(expm1.f64 (log.f64 re)) |
(exp.f64 (log.f64 re)) |
(exp.f64 (*.f64 (log.f64 re) -2)) |
(log1p.f64 (expm1.f64 re)) |
(fma.f64 re re -2) |
(fma.f64 re re (neg.f64 re)) |
(fma.f64 re -2 -2) |
(fma.f64 -2 re -2) |
-2 |
-1 |
-1/2 |
-1/4 |
-1/8 |
-1/64 |
-1/262144 |
0 |
1/4096 |
1/512 |
1/256 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
3/4 |
1 |
3/2 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
16 |
27 |
64 |
256 |
512 |
4096 |
262144 |
| Outputs |
|---|
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/12 (pow.f64 im 4)) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(*.f64 1/2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))) |
(*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2)) |
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2)) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))) |
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/48 (pow.f64 re 4)))) |
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))) |
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (fma.f64 -1/1440 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2))) |
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (fma.f64 1/48 (pow.f64 re 4) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 -1/1440 (pow.f64 re 6))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(cos.f64 re) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (cos.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 (pow.f64 im 4) 1/24))) |
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/24 (*.f64 im (*.f64 im 1/2)))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (cos.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 (pow.f64 im 4) 1/24))) |
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/24 (*.f64 im (*.f64 im 1/2)))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) |
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re))) |
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re))) |
(*.f64 1/2 (+.f64 2 (pow.f64 im 2))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 1/2 (fma.f64 im im 2)) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) |
(fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))) |
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))) |
(fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))) |
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 2)))) |
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))) |
(fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (*.f64 im im))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))) |
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) |
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 1/48 (pow.f64 re 4) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 -1/1440 (pow.f64 re 6))))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(cos.f64 re) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))) |
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))) |
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) |
(*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))) |
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))) |
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) |
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))) |
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) |
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (*.f64 im im)) |
(fma.f64 im im 2) |
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) |
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) |
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) |
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(+.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2)) |
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
1/2 |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(*.f64 -1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (*.f64 re re)) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) |
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) |
(fma.f64 -1/4 (*.f64 re re) 1/2) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (*.f64 im im)) |
(fma.f64 im im 2) |
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) |
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) |
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) |
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))) |
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(+.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2)) |
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
1/5159780352 |
1/2985984 |
1/20736 |
1/1728 |
1/144 |
1/12 |
13/12 |
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) |
(fma.f64 (cos.f64 re) 1/5159780352 (cos.f64 re)) |
(*.f64 5159780353/5159780352 (cos.f64 re)) |
(*.f64 (cos.f64 re) 5159780353/5159780352) |
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (cos.f64 re)) |
(fma.f64 (cos.f64 re) 1/5159780352 (cos.f64 re)) |
(*.f64 5159780353/5159780352 (cos.f64 re)) |
(*.f64 (cos.f64 re) 5159780353/5159780352) |
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352)) |
(*.f64 (cos.f64 re) 1/2579890176) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) -2) |
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2) |
(+.f64 2 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))) |
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/5159780352) |
(cos.f64 re) |
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) (+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352)))) |
1/5159780352 |
(/.f64 (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))) |
1 |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/3) |
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(fabs.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(*.f64 (fabs.f64 (cos.f64 re)) 1/5159780352) |
(*.f64 1/5159780352 (fabs.f64 (cos.f64 re))) |
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re))) |
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352))) |
(*.f64 (cos.f64 re) 1/5159780352) |
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))) |
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352))) |
(*.f64 (cos.f64 re) 1/5159780352) |
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352))) |
(*.f64 (cos.f64 re) 1/5159780352) |
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2)) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904) |
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))) |
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352))) |
(*.f64 (cos.f64 re) 1/5159780352) |
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352)) |
(*.f64 (cos.f64 re) -10319560703/5159780352) |
(fma.f64 -2 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) |
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352)) |
(*.f64 (cos.f64 re) -10319560703/5159780352) |
(+.f64 (cos.f64 re) (cos.f64 re)) |
(*.f64 2 (cos.f64 re)) |
(+.f64 -2 (cos.f64 re)) |
(+.f64 (cos.f64 re) -2) |
(-.f64 (cos.f64 re) -2) |
(+.f64 (cos.f64 re) 2) |
(+.f64 2 (cos.f64 re)) |
(/.f64 (cos.f64 re) -2) |
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re)))) |
1 |
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re))) |
1 |
(pow.f64 (cos.f64 re) -2) |
(pow.f64 (cos.f64 re) 1/3) |
(cbrt.f64 (cos.f64 re)) |
(sqrt.f64 (cos.f64 re)) |
(fabs.f64 (cos.f64 re)) |
(log.f64 (exp.f64 (cos.f64 re))) |
(cos.f64 re) |
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re)))) |
(cbrt.f64 (cos.f64 re)) |
(cos.f64 re) |
(expm1.f64 (log.f64 (cos.f64 re))) |
(exp.f64 (log.f64 (cos.f64 re))) |
(cos.f64 re) |
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2)) |
(pow.f64 (cos.f64 re) -2) |
(log1p.f64 (expm1.f64 (cos.f64 re))) |
(cos.f64 re) |
(fma.f64 (cos.f64 re) -2 (cos.f64 re)) |
(neg.f64 (cos.f64 re)) |
(fma.f64 -2 (cos.f64 re) (cos.f64 re)) |
(fma.f64 (cos.f64 re) -2 (cos.f64 re)) |
(neg.f64 (cos.f64 re)) |
-2 |
-1 |
-1/2 |
-1/4 |
-1/8 |
-1/64 |
-1/262144 |
0 |
1/4096 |
1/512 |
1/256 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
3/4 |
1 |
3/2 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
16 |
27 |
64 |
256 |
512 |
4096 |
262144 |
(+.f64 re re) |
(+.f64 re -2) |
(+.f64 re (neg.f64 re)) |
0 |
(+.f64 re (fma.f64 (neg.f64 re) -2 re)) |
(+.f64 re (+.f64 re (+.f64 re re))) |
(*.f64 re 4) |
(+.f64 -2 re) |
(+.f64 re -2) |
(+.f64 -2 (neg.f64 re)) |
(-.f64 -2 re) |
(+.f64 -2 (*.f64 (neg.f64 re) re)) |
(+.f64 -2 (neg.f64 (*.f64 re re))) |
(-.f64 -2 (*.f64 re re)) |
(+.f64 -2 (*.f64 (neg.f64 re) -2)) |
(+.f64 -2 (*.f64 -2 (neg.f64 re))) |
(+.f64 -2 (+.f64 re re)) |
(fma.f64 2 re -2) |
(-.f64 re re) |
0 |
(-.f64 re -2) |
(+.f64 re 2) |
(+.f64 2 re) |
(-.f64 -2 re) |
(/.f64 re re) |
1 |
(/.f64 -2 re) |
(/.f64 (neg.f64 re) (neg.f64 re)) |
1 |
(pow.f64 re -2) |
(pow.f64 re 1/3) |
(cbrt.f64 re) |
(sqrt.f64 re) |
(fabs.f64 re) |
re |
(log.f64 (exp.f64 re)) |
(fabs.f64 re) |
re |
(log.f64 (+.f64 -2 (expm1.f64 re))) |
(cbrt.f64 re) |
(expm1.f64 (log.f64 re)) |
(+.f64 re -1) |
(exp.f64 (log.f64 re)) |
(fabs.f64 re) |
re |
(exp.f64 (*.f64 (log.f64 re) -2)) |
(pow.f64 re -2) |
(log1p.f64 (expm1.f64 re)) |
(fabs.f64 re) |
re |
(fma.f64 re re -2) |
(fma.f64 re re (neg.f64 re)) |
(-.f64 (*.f64 re re) re) |
(fma.f64 re -2 -2) |
(fma.f64 -2 re -2) |
(fma.f64 re -2 -2) |
(-.f64 re re) |
0 |
(-.f64 re -2) |
(+.f64 re 2) |
(+.f64 2 re) |
(-.f64 -2 re) |
(*.f64 re re) |
(*.f64 re -2) |
(*.f64 -2 re) |
(*.f64 re -2) |
(/.f64 re re) |
1 |
(/.f64 -2 re) |
(/.f64 (neg.f64 re) (neg.f64 re)) |
1 |
(pow.f64 re -2) |
(pow.f64 re 1/3) |
(cbrt.f64 re) |
(sqrt.f64 re) |
(fabs.f64 re) |
re |
(log.f64 (exp.f64 re)) |
(fabs.f64 re) |
re |
(log.f64 (+.f64 -2 (expm1.f64 re))) |
(cbrt.f64 re) |
(expm1.f64 (log.f64 re)) |
(+.f64 re -1) |
(exp.f64 (log.f64 re)) |
(fabs.f64 re) |
re |
(exp.f64 (*.f64 (log.f64 re) -2)) |
(pow.f64 re -2) |
(log1p.f64 (expm1.f64 re)) |
(fabs.f64 re) |
re |
(fma.f64 re re -2) |
(fma.f64 re re (neg.f64 re)) |
(-.f64 (*.f64 re re) re) |
(fma.f64 re -2 -2) |
(fma.f64 -2 re -2) |
(fma.f64 re -2 -2) |
-2 |
-1 |
-1/2 |
-1/4 |
-1/8 |
-1/64 |
-1/262144 |
0 |
1/4096 |
1/512 |
1/256 |
1/64 |
1/16 |
1/8 |
1/4 |
1/2 |
3/4 |
1 |
3/2 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
16 |
27 |
64 |
256 |
512 |
4096 |
262144 |
Compiled 2841 to 1715 computations (39.6% saved)
25 alts after pruning (22 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 232 | 22 | 254 |
| Fresh | 0 | 0 | 0 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 1 | 1 |
| Total | 235 | 25 | 260 |
| Status | Accuracy | Program |
|---|---|---|
| 5.1% | (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) | |
| 41.5% | (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) | |
| 15.8% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) | |
| 51.7% | (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 12.1% | (*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
| 34.8% | (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 57.3% | (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
| 48.7% | (*.f64 1/2 (+.f64 2 (*.f64 im im))) | |
| ▶ | 6.2% | (*.f64 1/2 262144) |
| 9.2% | (*.f64 1/2 3/2) | |
| 8.4% | (*.f64 1/2 3/4) | |
| 7.8% | (*.f64 1/2 1/4) | |
| 7.3% | (*.f64 1/2 1/16) | |
| ▶ | 7.0% | (*.f64 1/2 1/64) |
| 3.3% | (*.f64 1/2 -1/8) | |
| 3.5% | (*.f64 1/2 -1/4) | |
| 3.6% | (*.f64 1/2 -1/2) | |
| 3.8% | (*.f64 1/2 -1) | |
| ▶ | 4.0% | (*.f64 1/2 -2) |
| 8.1% | (*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| 8.1% | (*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 52.1% | (cos.f64 re) |
| 30.0% | 1 | |
| 5.1% | (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) | |
| 41.5% | (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) | |
| 15.8% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) | |
| 51.7% | (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 12.1% | (*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
| 34.8% | (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 57.3% | (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
| 48.7% | (*.f64 1/2 (+.f64 2 (*.f64 im im))) | |
| ▶ | 6.2% | (*.f64 1/2 262144) |
| 9.2% | (*.f64 1/2 3/2) | |
| 8.4% | (*.f64 1/2 3/4) | |
| 7.8% | (*.f64 1/2 1/4) | |
| 7.3% | (*.f64 1/2 1/16) | |
| ▶ | 7.0% | (*.f64 1/2 1/64) |
| 3.3% | (*.f64 1/2 -1/8) | |
| 3.5% | (*.f64 1/2 -1/4) | |
| 3.6% | (*.f64 1/2 -1/2) | |
| 3.8% | (*.f64 1/2 -1) | |
| ▶ | 4.0% | (*.f64 1/2 -2) |
| 8.1% | (*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| 8.1% | (*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 52.1% | (cos.f64 re) |
| 30.0% | 1 |
Compiled 728 to 624 computations (14.3% saved)
Found 3 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| 100.0% | (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) | |
| 100.0% | (*.f64 -1/4 (*.f64 re re)) | |
| ✓ | 99.6% | (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
Compiled 87 to 59 computations (32.2% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | im | @ | -inf | (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
| 0.0ms | im | @ | inf | (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
| 0.0ms | im | @ | 0 | (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
| 1× | batch-egg-rewrite |
| 1492× | pow1 |
| 1380× | add-exp-log |
| 1380× | log1p-expm1-u |
| 1380× | expm1-log1p-u |
| 1348× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 21 |
| 1 | 184 | 21 |
| 2 | 1965 | 21 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
| Outputs |
|---|
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)) |
(+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) 1) (*.f64 im im)) |
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1) |
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) |
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) (pow.f64 im 6)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))))) |
(/.f64 (-.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))) |
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3) |
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) |
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) |
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
| 1× | egg-herbie |
| 888× | associate-*r* |
| 770× | associate-*l* |
| 676× | associate-/r* |
| 672× | fma-neg |
| 664× | associate-/l* |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 59 | 791 |
| 1 | 148 | 747 |
| 2 | 581 | 743 |
| 3 | 3520 | 709 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 im 2) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(*.f64 1/12 (pow.f64 im 4)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(*.f64 1/12 (pow.f64 im 4)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)) |
(+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) 1) (*.f64 im im)) |
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1) |
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) |
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) (pow.f64 im 6)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))))) |
(/.f64 (-.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))) |
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3) |
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) |
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) |
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
| Outputs |
|---|
(pow.f64 im 2) |
(*.f64 im im) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 1/12 (pow.f64 im 4)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 1/12 (pow.f64 im 4)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) 1) (*.f64 im im)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) (pow.f64 im 6)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))))) |
(/.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)) (pow.f64 im 6)) (+.f64 (*.f64 1/144 (*.f64 (pow.f64 im 4) (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))))) |
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6)))) |
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (fma.f64 1/144 (pow.f64 im 8) (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4)))) |
(/.f64 (fma.f64 1/1728 (pow.f64 im 12) (pow.f64 im 6)) (fma.f64 1/144 (pow.f64 im 8) (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4)))) |
(/.f64 (-.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))) |
(/.f64 (-.f64 (*.f64 1/144 (*.f64 (pow.f64 im 4) (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))) |
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))) |
(/.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) |
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) |
Compiled 1006 to 757 computations (24.8% saved)
32 alts after pruning (26 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 74 | 10 | 84 |
| Fresh | 1 | 16 | 17 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 3 | 3 |
| Total | 77 | 32 | 109 |
| Status | Accuracy | Program |
|---|---|---|
| 5.1% | (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) | |
| 41.5% | (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) | |
| 15.8% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) | |
| 51.7% | (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 17.0% | (*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
| 6.1% | (*.f64 262144 (+.f64 1/2 (/.f64 re re))) | |
| ▶ | 5.8% | (*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
| 8.6% | (*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) | |
| 16.3% | (*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) | |
| 5.9% | (*.f64 262144 (+.f64 1/2 re)) | |
| 9.1% | (*.f64 262144 (*.f64 re re)) | |
| 2.4% | (*.f64 262144 (*.f64 re -2)) | |
| 34.8% | (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 57.3% | (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
| 48.7% | (*.f64 1/2 (+.f64 2 (*.f64 im im))) | |
| 57.0% | (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) | |
| ✓ | 6.2% | (*.f64 1/2 262144) |
| 9.2% | (*.f64 1/2 3/2) | |
| ▶ | 8.4% | (*.f64 1/2 3/4) |
| 7.8% | (*.f64 1/2 1/4) | |
| 7.3% | (*.f64 1/2 1/16) | |
| ✓ | 7.0% | (*.f64 1/2 1/64) |
| 3.3% | (*.f64 1/2 -1/8) | |
| 3.5% | (*.f64 1/2 -1/4) | |
| 3.6% | (*.f64 1/2 -1/2) | |
| ▶ | 3.8% | (*.f64 1/2 -1) |
| ✓ | 4.0% | (*.f64 1/2 -2) |
| 8.1% | (*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 52.1% | (cos.f64 re) |
| 30.0% | 1 | |
| 5.1% | (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) | |
| 41.5% | (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) | |
| 15.8% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) | |
| 51.7% | (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 17.0% | (*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
| 6.1% | (*.f64 262144 (+.f64 1/2 (/.f64 re re))) | |
| ▶ | 5.8% | (*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
| 8.6% | (*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) | |
| 16.3% | (*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) | |
| 5.9% | (*.f64 262144 (+.f64 1/2 re)) | |
| 9.1% | (*.f64 262144 (*.f64 re re)) | |
| 2.4% | (*.f64 262144 (*.f64 re -2)) | |
| 34.8% | (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 57.3% | (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
| 48.7% | (*.f64 1/2 (+.f64 2 (*.f64 im im))) | |
| 57.0% | (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) | |
| ✓ | 6.2% | (*.f64 1/2 262144) |
| 9.2% | (*.f64 1/2 3/2) | |
| ▶ | 8.4% | (*.f64 1/2 3/4) |
| 7.8% | (*.f64 1/2 1/4) | |
| 7.3% | (*.f64 1/2 1/16) | |
| ✓ | 7.0% | (*.f64 1/2 1/64) |
| 3.3% | (*.f64 1/2 -1/8) | |
| 3.5% | (*.f64 1/2 -1/4) | |
| 3.6% | (*.f64 1/2 -1/2) | |
| ▶ | 3.8% | (*.f64 1/2 -1) |
| ✓ | 4.0% | (*.f64 1/2 -2) |
| 8.1% | (*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 52.1% | (cos.f64 re) |
| 30.0% | 1 |
Compiled 930 to 794 computations (14.6% saved)
Found 3 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (pow.f64 re -2) |
| ✓ | 100.0% | (+.f64 1/2 (pow.f64 re -2)) |
| ✓ | 99.6% | (*.f64 1/12 (pow.f64 im 4)) |
Compiled 100 to 75 computations (25% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | re | @ | -inf | (pow.f64 re -2) |
| 1.0ms | re | @ | -inf | (+.f64 1/2 (pow.f64 re -2)) |
| 0.0ms | re | @ | 0 | (+.f64 1/2 (pow.f64 re -2)) |
| 0.0ms | re | @ | inf | (pow.f64 re -2) |
| 0.0ms | re | @ | inf | (+.f64 1/2 (pow.f64 re -2)) |
| 1× | batch-egg-rewrite |
| 964× | log-prod |
| 774× | exp-prod |
| 544× | prod-exp |
| 516× | pow-prod-down |
| 508× | pow-prod-up |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 33 |
| 1 | 262 | 33 |
| 2 | 2947 | 33 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/12 (pow.f64 im 4)) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 re -2) |
| Outputs |
|---|
(+.f64 0 (*.f64 1/12 (pow.f64 im 4))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1) |
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3) |
(pow.f64 (*.f64 (pow.f64 im 8) 1/144) 1/2) |
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) 1/3) |
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2) |
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144)) |
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)) |
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) 1) |
(-.f64 (/.f64 1/4 (-.f64 1/2 (pow.f64 re -2))) (/.f64 (pow.f64 re -4) (-.f64 1/2 (pow.f64 re -2)))) |
(*.f64 (+.f64 1/2 (pow.f64 re -2)) 1) |
(*.f64 1 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(*.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))) |
(*.f64 (-.f64 1/4 (pow.f64 re -4)) (/.f64 1 (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 1 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8))) |
(/.f64 1 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4)))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (-.f64 1/4 (*.f64 1/2 (pow.f64 re -2))))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 re -6) 1/8)) (neg.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))) |
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 re -4))) (neg.f64 (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 (-.f64 (pow.f64 re -4) 1/4) (-.f64 (pow.f64 re -2) 1/2)) |
(pow.f64 (+.f64 1/2 (pow.f64 re -2)) 1) |
(pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 3) |
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2) 1/2) |
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) |
(pow.f64 (exp.f64 1) (log.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(pow.f64 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)) -1) |
(pow.f64 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(sqrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2)) |
(log.f64 (exp.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(cbrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(exp.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) |
(log1p.f64 (expm1.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(fma.f64 (pow.f64 re -2) 1 1/2) |
(fma.f64 1 (pow.f64 re -2) 1/2) |
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2) |
(fma.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2) 1/2) |
(fma.f64 (/.f64 1 re) (/.f64 1 re) 1/2) |
(fma.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2) 1/2) |
(+.f64 (*.f64 1/2 (pow.f64 re -2)) (*.f64 1/2 (pow.f64 re -2))) |
(+.f64 0 (pow.f64 re -2)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))))) |
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -2))) 1) |
(*.f64 (pow.f64 re -2) 1) |
(*.f64 1 (pow.f64 re -2)) |
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4))) |
(*.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2)) |
(*.f64 (/.f64 1 re) (/.f64 1 re)) |
(*.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2)) |
(/.f64 1 (*.f64 re re)) |
(sqrt.f64 (pow.f64 re -4)) |
(log.f64 (exp.f64 (pow.f64 re -2))) |
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -2)))) |
(cbrt.f64 (pow.f64 re -6)) |
(expm1.f64 (log1p.f64 (pow.f64 re -2))) |
(exp.f64 (*.f64 -2 (log.f64 re))) |
(exp.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -2)) |
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 re) -2)) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 re -6)) 1/3)) |
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 3) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 re re)) -1)) |
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 2)) |
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 2)) |
(exp.f64 (+.f64 (neg.f64 (log.f64 re)) (*.f64 (log.f64 re) -1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (neg.f64 (log.f64 re)))) |
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (*.f64 (log.f64 re) -1))) |
(log1p.f64 (expm1.f64 (pow.f64 re -2))) |
| 1× | egg-herbie |
| 1090× | fma-def |
| 1046× | distribute-lft-in |
| 1012× | distribute-rgt-in |
| 952× | unswap-sqr |
| 390× | *-commutative |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 243 | 2505 |
| 1 | 536 | 1945 |
| 2 | 1651 | 1945 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1 (pow.f64 re 2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
1/2 |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
1/2 |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (pow.f64 re 2)) |
(+.f64 0 (*.f64 1/12 (pow.f64 im 4))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1) |
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3) |
(pow.f64 (*.f64 (pow.f64 im 8) 1/144) 1/2) |
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) 1/3) |
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2) |
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144)) |
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)) |
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) 1) |
(-.f64 (/.f64 1/4 (-.f64 1/2 (pow.f64 re -2))) (/.f64 (pow.f64 re -4) (-.f64 1/2 (pow.f64 re -2)))) |
(*.f64 (+.f64 1/2 (pow.f64 re -2)) 1) |
(*.f64 1 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(*.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))) |
(*.f64 (-.f64 1/4 (pow.f64 re -4)) (/.f64 1 (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 1 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8))) |
(/.f64 1 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4)))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (-.f64 1/4 (*.f64 1/2 (pow.f64 re -2))))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 re -6) 1/8)) (neg.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))) |
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 re -4))) (neg.f64 (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 (-.f64 (pow.f64 re -4) 1/4) (-.f64 (pow.f64 re -2) 1/2)) |
(pow.f64 (+.f64 1/2 (pow.f64 re -2)) 1) |
(pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 3) |
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2) 1/2) |
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) |
(pow.f64 (exp.f64 1) (log.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(pow.f64 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)) -1) |
(pow.f64 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(sqrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2)) |
(log.f64 (exp.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(cbrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(exp.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) |
(log1p.f64 (expm1.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(fma.f64 (pow.f64 re -2) 1 1/2) |
(fma.f64 1 (pow.f64 re -2) 1/2) |
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2) |
(fma.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2) 1/2) |
(fma.f64 (/.f64 1 re) (/.f64 1 re) 1/2) |
(fma.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2) 1/2) |
(+.f64 (*.f64 1/2 (pow.f64 re -2)) (*.f64 1/2 (pow.f64 re -2))) |
(+.f64 0 (pow.f64 re -2)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))))) |
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -2))) 1) |
(*.f64 (pow.f64 re -2) 1) |
(*.f64 1 (pow.f64 re -2)) |
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4))) |
(*.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2)) |
(*.f64 (/.f64 1 re) (/.f64 1 re)) |
(*.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2)) |
(/.f64 1 (*.f64 re re)) |
(sqrt.f64 (pow.f64 re -4)) |
(log.f64 (exp.f64 (pow.f64 re -2))) |
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -2)))) |
(cbrt.f64 (pow.f64 re -6)) |
(expm1.f64 (log1p.f64 (pow.f64 re -2))) |
(exp.f64 (*.f64 -2 (log.f64 re))) |
(exp.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -2)) |
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 re) -2)) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 re -6)) 1/3)) |
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 3) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 re re)) -1)) |
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 2)) |
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 2)) |
(exp.f64 (+.f64 (neg.f64 (log.f64 re)) (*.f64 (log.f64 re) -1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (neg.f64 (log.f64 re)))) |
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (*.f64 (log.f64 re) -1))) |
(log1p.f64 (expm1.f64 (pow.f64 re -2))) |
| Outputs |
|---|
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
1/2 |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
1/2 |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(+.f64 1/2 (/.f64 1 (pow.f64 re 2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(/.f64 1 (pow.f64 re 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(+.f64 0 (*.f64 1/12 (pow.f64 im 4))) |
(*.f64 1/12 (pow.f64 im 4)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) 3) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) |
(*.f64 1/12 (pow.f64 im 4)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1) |
(*.f64 1/12 (pow.f64 im 4)) |
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1) |
(*.f64 1/12 (pow.f64 im 4)) |
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3) |
(*.f64 1/12 (pow.f64 im 4)) |
(pow.f64 (*.f64 (pow.f64 im 8) 1/144) 1/2) |
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144)) |
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) 1/3) |
(*.f64 1/12 (pow.f64 im 4)) |
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2) |
(*.f64 1/12 (pow.f64 im 4)) |
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 1/12 (pow.f64 im 4)) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12))) 2)) (cbrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))) (sqrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))) |
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144)) |
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) |
(*.f64 1/12 (pow.f64 im 4)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))) |
(*.f64 1/12 (pow.f64 im 4)) |
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3)) |
(*.f64 1/12 (pow.f64 im 4)) |
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 1/12 (pow.f64 im 4)) |
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 1/12 (pow.f64 im 4)) |
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1)) |
(*.f64 1/12 (pow.f64 im 4)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1) 1)) |
(*.f64 1/12 (pow.f64 im 4)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4)))) 3)) |
(*.f64 1/12 (pow.f64 im 4)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 1/3)) |
(*.f64 1/12 (pow.f64 im 4)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)) |
(*.f64 1/12 (pow.f64 im 4)) |
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 1/12 (pow.f64 im 4)) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) 1) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(-.f64 (/.f64 1/4 (-.f64 1/2 (pow.f64 re -2))) (/.f64 (pow.f64 re -4) (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(*.f64 (+.f64 1/2 (pow.f64 re -2)) 1) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(*.f64 1 (+.f64 1/2 (pow.f64 re -2))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(*.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(*.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4))) |
(*.f64 (-.f64 1/4 (pow.f64 re -4)) (/.f64 1 (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(/.f64 1 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8))) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4))) |
(/.f64 1 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4)))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (-.f64 1/4 (*.f64 1/2 (pow.f64 re -2))))) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 re -6) 1/8)) (neg.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4))) |
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 re -4))) (neg.f64 (-.f64 1/2 (pow.f64 re -2)))) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(/.f64 (-.f64 (pow.f64 re -4) 1/4) (-.f64 (pow.f64 re -2) 1/2)) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(pow.f64 (+.f64 1/2 (pow.f64 re -2)) 1) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 3) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2) 1/2) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3) 1/3) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 (exp.f64 1) (log.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(pow.f64 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)) -1) |
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4))) |
(pow.f64 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))) -1) |
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(sqrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(log.f64 (exp.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (pow.f64 re -2))))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(cbrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(expm1.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(exp.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1) 1)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 3)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 1/3)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(log1p.f64 (expm1.f64 (+.f64 1/2 (pow.f64 re -2)))) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(fma.f64 (pow.f64 re -2) 1 1/2) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(fma.f64 1 (pow.f64 re -2) 1/2) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2) |
(fma.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2) 1/2) |
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2) |
(fma.f64 (/.f64 1 re) (/.f64 1 re) 1/2) |
(+.f64 (/.f64 1 (*.f64 re re)) 1/2) |
(+.f64 1/2 (pow.f64 re -2)) |
(fma.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2) 1/2) |
(+.f64 1/2 (pow.f64 (pow.f64 (cbrt.f64 re) -2) 3)) |
(+.f64 (*.f64 1/2 (pow.f64 re -2)) (*.f64 1/2 (pow.f64 re -2))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(+.f64 0 (pow.f64 re -2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))))) |
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))))) |
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -2))) 1) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(*.f64 (pow.f64 re -2) 1) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(*.f64 1 (pow.f64 re -2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4))) |
(*.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2)) |
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4))) |
(*.f64 (/.f64 1 re) (/.f64 1 re)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(*.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2)) |
(*.f64 (pow.f64 (cbrt.f64 re) -2) (pow.f64 (cbrt.f64 re) -4)) |
(pow.f64 (pow.f64 (cbrt.f64 re) -2) 3) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(sqrt.f64 (pow.f64 re -4)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(log.f64 (exp.f64 (pow.f64 re -2))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -2)))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(cbrt.f64 (pow.f64 re -6)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(expm1.f64 (log1p.f64 (pow.f64 re -2))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 -2 (log.f64 re))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1) 1)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 re) -2)) 3)) |
(*.f64 (pow.f64 (cbrt.f64 re) -2) (pow.f64 (cbrt.f64 re) -4)) |
(pow.f64 (pow.f64 (cbrt.f64 re) -2) 3) |
(exp.f64 (*.f64 (log.f64 (pow.f64 re -6)) 1/3)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 3) 1/3)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (log.f64 (*.f64 re re)) -1)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 2)) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (+.f64 (neg.f64 (log.f64 re)) (*.f64 (log.f64 re) -1))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (neg.f64 (log.f64 re)))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (*.f64 (log.f64 re) -1))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
(log1p.f64 (expm1.f64 (pow.f64 re -2))) |
(/.f64 1 (*.f64 re re)) |
(pow.f64 re -2) |
Compiled 1595 to 1304 computations (18.2% saved)
32 alts after pruning (22 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 115 | 2 | 117 |
| Fresh | 1 | 20 | 21 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 6 | 6 |
| Total | 117 | 32 | 149 |
| Status | Accuracy | Program |
|---|---|---|
| 5.1% | (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) | |
| 41.5% | (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) | |
| 15.8% | (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) | |
| 51.7% | (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 16.3% | (*.f64 262144 (/.f64 1 (*.f64 re re))) | |
| 6.1% | (*.f64 262144 (+.f64 1/2 (/.f64 re re))) | |
| ✓ | 5.8% | (*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
| 8.6% | (*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) | |
| 17.0% | (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) | |
| 16.3% | (*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) | |
| 5.9% | (*.f64 262144 (+.f64 1/2 re)) | |
| 9.1% | (*.f64 262144 (*.f64 re re)) | |
| 2.4% | (*.f64 262144 (*.f64 re -2)) | |
| 34.8% | (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) | |
| ✓ | 63.5% | (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ✓ | 57.3% | (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
| 48.7% | (*.f64 1/2 (+.f64 2 (*.f64 im im))) | |
| 57.0% | (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) | |
| ✓ | 6.2% | (*.f64 1/2 262144) |
| 9.2% | (*.f64 1/2 3/2) | |
| ✓ | 8.4% | (*.f64 1/2 3/4) |
| 7.8% | (*.f64 1/2 1/4) | |
| 7.3% | (*.f64 1/2 1/16) | |
| ✓ | 7.0% | (*.f64 1/2 1/64) |
| 3.3% | (*.f64 1/2 -1/8) | |
| 3.5% | (*.f64 1/2 -1/4) | |
| 3.6% | (*.f64 1/2 -1/2) | |
| ✓ | 3.8% | (*.f64 1/2 -1) |
| ✓ | 4.0% | (*.f64 1/2 -2) |
| ✓ | 52.1% | (cos.f64 re) |
| 30.0% | 1 |
Compiled 537 to 412 computations (23.3% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) |
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
6 calls:
| 57.0ms | (*.f64 1/2 (cos.f64 re)) |
| 47.0ms | (cos.f64 re) |
| 37.0ms | re |
| 36.0ms | im |
| 19.0ms | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | re |
| 100.0% | 1 | im |
| 100.0% | 1 | (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 100.0% | 1 | (*.f64 1/2 (cos.f64 re)) |
| 100.0% | 1 | (cos.f64 re) |
| 100.0% | 1 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
Compiled 317 to 221 computations (30.3% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) |
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
| Outputs |
|---|
(cos.f64 re) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
4 calls:
| 62.0ms | im |
| 54.0ms | (cos.f64 re) |
| 45.0ms | re |
| 38.0ms | (*.f64 1/2 (cos.f64 re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 90.1% | 2 | re |
| 98.4% | 3 | im |
| 90.1% | 2 | (*.f64 1/2 (cos.f64 re)) |
| 90.1% | 2 | (cos.f64 re) |
Compiled 270 to 191 computations (29.3% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2)) |
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) |
| Outputs |
|---|
(cos.f64 re) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) |
1 calls:
| 72.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 96.6% | 3 | im |
Compiled 243 to 176 computations (27.6% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| Outputs |
|---|
(cos.f64 re) |
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
1 calls:
| 63.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.8% | 3 | im |
Compiled 213 to 160 computations (24.9% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) |
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2) |
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re)))) |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) |
4 calls:
| 79.0ms | im |
| 60.0ms | re |
| 30.0ms | (*.f64 1/2 (cos.f64 re)) |
| 25.0ms | (cos.f64 re) |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.9% | 2 | re |
| 84.9% | 2 | (*.f64 1/2 (cos.f64 re)) |
| 84.9% | 2 | (cos.f64 re) |
| 90.1% | 4 | im |
Compiled 218 to 164 computations (24.8% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
| Outputs |
|---|
(cos.f64 re) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
3 calls:
| 116.0ms | im |
| 68.0ms | (cos.f64 re) |
| 63.0ms | re |
| Accuracy | Segments | Branch |
|---|---|---|
| 70.7% | 4 | re |
| 73.3% | 4 | (cos.f64 re) |
| 86.4% | 6 | im |
Compiled 176 to 135 computations (23.3% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2))) |
| Outputs |
|---|
(cos.f64 re) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
1 calls:
| 80.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 81.2% | 5 | im |
Compiled 160 to 122 computations (23.8% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
| Outputs |
|---|
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
2 calls:
| 75.0ms | im |
| 47.0ms | re |
| Accuracy | Segments | Branch |
|---|---|---|
| 53.7% | 3 | re |
| 59.7% | 5 | im |
Compiled 154 to 117 computations (24% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re)))) |
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) |
| Outputs |
|---|
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (/.f64 1 (*.f64 re re))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
1 calls:
| 44.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 53.8% | 3 | im |
Compiled 138 to 108 computations (21.7% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(*.f64 262144 (+.f64 1/2 (-.f64 re -2))) |
(*.f64 262144 (+.f64 1/2 (/.f64 re re))) |
| Outputs |
|---|
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
2 calls:
| 11.0ms | re |
| 10.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 48.7% | 1 | re |
| 48.7% | 1 | im |
Compiled 78 to 67 computations (14.1% saved)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
(*.f64 262144 (*.f64 re re)) |
(*.f64 262144 (+.f64 1/2 re)) |
| Outputs |
|---|
1 |
(*.f64 262144 (*.f64 re re)) |
2 calls:
| 26.0ms | re |
| 17.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 36.2% | 2 | im |
| 35.2% | 2 | re |
Compiled 57 to 51 computations (10.5% saved)
Total -18.6b remaining (-41.5%)
Threshold costs -18.6b (-41.5%)
| Inputs |
|---|
1 |
(*.f64 1/2 -2) |
(*.f64 1/2 -1) |
(*.f64 1/2 -1/2) |
(*.f64 1/2 -1/4) |
(*.f64 1/2 -1/8) |
(*.f64 1/2 1/64) |
(*.f64 1/2 1/16) |
(*.f64 1/2 1/4) |
(*.f64 1/2 3/4) |
(*.f64 1/2 3/2) |
(*.f64 1/2 262144) |
(*.f64 262144 (*.f64 re -2)) |
| Outputs |
|---|
1 |
2 calls:
| 9.0ms | im |
| 9.0ms | re |
| Accuracy | Segments | Branch |
|---|---|---|
| 30.0% | 1 | re |
| 30.0% | 1 | im |
Compiled 47 to 44 computations (6.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 8.005166623344716e+76 | 1.3217467450912058e+77 |
| 42.0ms | 1.5745326965198972e-16 | 4.728373586216324e-13 |
| 18.0ms | 74× | body | 256 | valid |
| 17.0ms | 39× | body | 1024 | valid |
| 5.0ms | 41× | body | 256 | infinite |
| 4.0ms | 14× | body | 512 | valid |
| 4.0ms | 11× | body | 512 | infinite |
| 4.0ms | 12× | body | 1024 | infinite |
| 1.0ms | 1× | body | 2048 | valid |
Compiled 306 to 238 computations (22.2% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 34.0ms | 8.005166623344716e+76 | 1.3217467450912058e+77 |
| 46.0ms | 1.5745326965198972e-16 | 4.728373586216324e-13 |
| 19.0ms | 33× | body | 1024 | valid |
| 15.0ms | 39× | body | 256 | infinite |
| 15.0ms | 78× | body | 256 | valid |
| 11.0ms | 16× | body | 1024 | infinite |
| 7.0ms | 17× | body | 512 | valid |
| 5.0ms | 9× | body | 512 | infinite |
Compiled 234 to 190 computations (18.8% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 56.0ms | 7.110353685425327e+152 | 1.224365542895551e+155 |
| 66.0ms | 1.5745326965198972e-16 | 4.728373586216324e-13 |
| 28.0ms | 35× | body | 1024 | valid |
| 27.0ms | 79× | body | 256 | valid |
| 22.0ms | 29× | body | 1024 | infinite |
| 19.0ms | 63× | body | 256 | infinite |
| 10.0ms | 20× | body | 512 | infinite |
| 8.0ms | 14× | body | 512 | valid |
Compiled 314 to 251 computations (20.1% saved)
| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 7.110353685425327e+152 | 1.224365542895551e+155 |
| 42.0ms | 6.552323263076629e+73 | 8.005166623344716e+76 |
| 60.0ms | 52.64668111863332 | 152441097.9745084 |
| 39.0ms | 87× | body | 1024 | infinite |
| 30.0ms | 166× | body | 256 | infinite |
| 16.0ms | 27× | body | 1024 | valid |
| 14.0ms | 53× | body | 256 | valid |
| 11.0ms | 35× | body | 512 | infinite |
| 6.0ms | 15× | body | 512 | valid |
| 1.0ms | 1× | body | 2048 | valid |
Compiled 576 to 475 computations (17.5% saved)
| 5× | binary-search |
| 1× | predicate-same |
| 1× | predicate-same |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 7.0ms | 2.852101352965616e+240 | 5.4568623050213316e+240 |
| 20.0ms | 1.8449345286196103e+173 | 1.280290415087209e+175 |
| 20.0ms | 2.356978595050973e+133 | 3.4779237003119295e+134 |
| 26.0ms | 6.552323263076629e+73 | 8.005166623344716e+76 |
| 35.0ms | 52.64668111863332 | 152441097.9745084 |
| 34.0ms | 250× | body | 256 | infinite |
| 31.0ms | 99× | body | 1024 | infinite |
| 11.0ms | 51× | body | 512 | infinite |
| 11.0ms | 29× | body | 1024 | valid |
| 8.0ms | 53× | body | 256 | valid |
| 4.0ms | 13× | body | 512 | valid |
| 1.0ms | 1× | body | 2048 | valid |
Compiled 705 to 572 computations (18.9% saved)
| 4× | binary-search |
| 1× | narrow-enough |
| 1× | predicate-same |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 2.852101352965616e+240 | 5.4568623050213316e+240 |
| 16.0ms | 1.8449345286196103e+173 | 1.280290415087209e+175 |
| 42.0ms | 1.517430901572028e+131 | 2.356978595050973e+133 |
| 19.0ms | 25.932685518612384 | 52.64668111863332 |
| 30.0ms | 166× | body | 256 | infinite |
| 29.0ms | 69× | body | 1024 | infinite |
| 9.0ms | 24× | body | 1024 | valid |
| 7.0ms | 48× | body | 256 | valid |
| 5.0ms | 21× | body | 512 | infinite |
| 2.0ms | 8× | body | 512 | valid |
Compiled 557 to 442 computations (20.6% saved)
| 4× | binary-search |
| 1× | narrow-enough |
| 1× | predicate-same |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 2.852101352965616e+240 | 5.4568623050213316e+240 |
| 31.0ms | 1.8449345286196103e+173 | 1.280290415087209e+175 |
| 23.0ms | 1.517430901572028e+131 | 2.356978595050973e+133 |
| 21.0ms | 25.932685518612384 | 52.64668111863332 |
| 33.0ms | 26× | body | 512 | infinite |
| 18.0ms | 59× | body | 1024 | infinite |
| 14.0ms | 107× | body | 256 | infinite |
| 10.0ms | 26× | body | 1024 | valid |
| 7.0ms | 44× | body | 256 | valid |
| 2.0ms | 10× | body | 512 | valid |
Compiled 478 to 382 computations (20.1% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 1.8449345286196103e+173 | 1.280290415087209e+175 |
| 36.0ms | 52.64668111863332 | 152441097.9745084 |
| 15.0ms | 42× | body | 1024 | infinite |
| 14.0ms | 31× | body | 1024 | valid |
| 13.0ms | 84× | body | 256 | infinite |
| 12.0ms | 73× | body | 256 | valid |
| 5.0ms | 18× | body | 512 | infinite |
| 2.0ms | 8× | body | 512 | valid |
Compiled 338 to 270 computations (20.1% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 44.0ms | 8.45848747441445e+26 | 1.7002064329469624e+31 |
| 28.0ms | 35× | body | 1024 | infinite |
| 12.0ms | 82× | body | 256 | infinite |
| 2.0ms | 11× | body | 512 | infinite |
Compiled 114 to 94 computations (17.5% saved)
| 1× | egg-herbie |
| 32× | *-commutative |
| 12× | +-commutative |
| 8× | if-if-or-not |
| 2× | sub-neg |
| 2× | 1-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 110 | 948 |
| 1 | 149 | 948 |
| 2 | 151 | 948 |
| 3 | 152 | 948 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))) |
(if (<=.f64 im 550) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))) |
(if (<=.f64 im 420) (cos.f64 re) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 340000000000000017686312188499119055736780181869872959156693691821763352243002793750095692905951336752397348659017652472395996046819328) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 im 450000000000000020047229135371086777984880465728367546961105793539206689257852404857914966391357695045874567259910568532461074528845844678671430973813185228873479307804016640) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 2999999999999999856763762614458031433865700488237423340741952545624056810626962689897722672684312282798032173855097952908633952125371662987133340870542611577443260033399644444653584198181681843984480963840926248176582143040046086240180633600) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))))))) |
(if (<=.f64 im 52) (cos.f64 re) (if (<=.f64 im 11199999999999999645118315249521630554704162478884702661711501606019035823785638138279061523067117675088241204305835705357462839230464) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 800000000000000011231349004639764174259695764561033088750640343560170436389200864865473065948525494756898286110224815249543914214905117518982142176675373517734084845464715264) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 4499999999999999785145643921687047150798550732356135011112928818436085215940444034846584009026468424197048260782646929362950928188057494480700011305813917366164890050099466666980376297272522765976721445761389372264873214560069129360270950400) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))) |
(if (<=.f64 im 52) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 679999999999999971698982363624759704430631561907666009304528722571364889081563446239105003072410325459340429424011629401281159757824) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 200000000000000002807837251159941043564923941140258272187660085890042609097300216216368266487131373689224571527556203812385978553726279379745535544168843379433521211366178816) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 5199999999999999998489960262262910325442943623241522660745157701888344681955307250512723121388147809958393483140027227021315534744697548836215635378548832259106695000666717078797749478729960100037121007833363354044958795675946258881384022016) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))) |
(if (<=.f64 im 250) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 190000000000000005413364452654187877379438063715802645486051201652862642400220589079767126521837225853787199215760215612685204182632308625607053966847058735491456467243892736) (*.f64 262144 (/.f64 1 (*.f64 re re))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(if (<=.f64 im 1199999999999999988457275392) 1 (*.f64 262144 (*.f64 re re))) |
1 |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))) |
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))) |
(if (<=.f64 im 550) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))) |
(if (<=.f64 im 550) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))) |
(if (<=.f64 im 420) (cos.f64 re) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 340000000000000017686312188499119055736780181869872959156693691821763352243002793750095692905951336752397348659017652472395996046819328) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 im 450000000000000020047229135371086777984880465728367546961105793539206689257852404857914966391357695045874567259910568532461074528845844678671430973813185228873479307804016640) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 2999999999999999856763762614458031433865700488237423340741952545624056810626962689897722672684312282798032173855097952908633952125371662987133340870542611577443260033399644444653584198181681843984480963840926248176582143040046086240180633600) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))))))) |
(if (<=.f64 im 420) (cos.f64 re) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 340000000000000017686312188499119055736780181869872959156693691821763352243002793750095692905951336752397348659017652472395996046819328) (*.f64 1/2 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12))) (if (or (<=.f64 im 450000000000000020047229135371086777984880465728367546961105793539206689257852404857914966391357695045874567259910568532461074528845844678671430973813185228873479307804016640) (not (<=.f64 im 2999999999999999856763762614458031433865700488237423340741952545624056810626962689897722672684312282798032173855097952908633952125371662987133340870542611577443260033399644444653584198181681843984480963840926248176582143040046086240180633600))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))))) |
(if (<=.f64 im 52) (cos.f64 re) (if (<=.f64 im 11199999999999999645118315249521630554704162478884702661711501606019035823785638138279061523067117675088241204305835705357462839230464) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 800000000000000011231349004639764174259695764561033088750640343560170436389200864865473065948525494756898286110224815249543914214905117518982142176675373517734084845464715264) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 4499999999999999785145643921687047150798550732356135011112928818436085215940444034846584009026468424197048260782646929362950928188057494480700011305813917366164890050099466666980376297272522765976721445761389372264873214560069129360270950400) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))) |
(if (<=.f64 im 52) (cos.f64 re) (if (<=.f64 im 11199999999999999645118315249521630554704162478884702661711501606019035823785638138279061523067117675088241204305835705357462839230464) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (or (<=.f64 im 800000000000000011231349004639764174259695764561033088750640343560170436389200864865473065948525494756898286110224815249543914214905117518982142176675373517734084845464715264) (not (<=.f64 im 4499999999999999785145643921687047150798550732356135011112928818436085215940444034846584009026468424197048260782646929362950928188057494480700011305813917366164890050099466666980376297272522765976721445761389372264873214560069129360270950400))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))) |
(if (<=.f64 im 52) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 679999999999999971698982363624759704430631561907666009304528722571364889081563446239105003072410325459340429424011629401281159757824) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 200000000000000002807837251159941043564923941140258272187660085890042609097300216216368266487131373689224571527556203812385978553726279379745535544168843379433521211366178816) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 5199999999999999998489960262262910325442943623241522660745157701888344681955307250512723121388147809958393483140027227021315534744697548836215635378548832259106695000666717078797749478729960100037121007833363354044958795675946258881384022016) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))) |
(if (<=.f64 im 52) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 679999999999999971698982363624759704430631561907666009304528722571364889081563446239105003072410325459340429424011629401281159757824) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (or (<=.f64 im 200000000000000002807837251159941043564923941140258272187660085890042609097300216216368266487131373689224571527556203812385978553726279379745535544168843379433521211366178816) (not (<=.f64 im 5199999999999999998489960262262910325442943623241522660745157701888344681955307250512723121388147809958393483140027227021315534744697548836215635378548832259106695000666717078797749478729960100037121007833363354044958795675946258881384022016))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))) |
(if (<=.f64 im 250) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 190000000000000005413364452654187877379438063715802645486051201652862642400220589079767126521837225853787199215760215612685204182632308625607053966847058735491456467243892736) (*.f64 262144 (/.f64 1 (*.f64 re re))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))) |
(if (or (<=.f64 im 250) (not (<=.f64 im 190000000000000005413364452654187877379438063715802645486051201652862642400220589079767126521837225853787199215760215612685204182632308625607053966847058735491456467243892736))) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 262144 (/.f64 1 (*.f64 re re)))) |
(*.f64 1/2 (+.f64 2 (*.f64 im im))) |
(if (<=.f64 im 1199999999999999988457275392) 1 (*.f64 262144 (*.f64 re re))) |
(if (<=.f64 im 1199999999999999988457275392) 1 (*.f64 (*.f64 re re) 262144)) |
1 |
Compiled 374 to 272 computations (27.3% saved)
| 1390× | fma-def |
| 1390× | fma-def |
| 1390× | fma-def |
| 1390× | fma-def |
| 1390× | fma-def |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 110 | 1290 |
| 1 | 320 | 1160 |
| 2 | 1007 | 1160 |
| 3 | 5200 | 1160 |
| 0 | 28 | 133 |
| 1 | 616 | 133 |
| 0 | 205 | 3852 |
| 1 | 468 | 3360 |
| 2 | 1270 | 3112 |
| 3 | 6630 | 3112 |
| 0 | 110 | 1290 |
| 1 | 320 | 1160 |
| 2 | 1007 | 1160 |
| 3 | 5200 | 1160 |
| 0 | 28 | 133 |
| 1 | 616 | 133 |
| 0 | 28 | 133 |
| 1 | 616 | 133 |
| 0 | 110 | 1290 |
| 1 | 320 | 1160 |
| 2 | 1007 | 1160 |
| 3 | 5200 | 1160 |
| 0 | 205 | 3852 |
| 1 | 468 | 3360 |
| 2 | 1270 | 3112 |
| 3 | 6630 | 3112 |
| 0 | 28 | 133 |
| 1 | 616 | 133 |
| 0 | 243 | 2505 |
| 1 | 536 | 1945 |
| 2 | 1651 | 1945 |
| 0 | 12 | 33 |
| 1 | 262 | 33 |
| 2 | 2947 | 33 |
| 0 | 205 | 3852 |
| 1 | 468 | 3360 |
| 2 | 1270 | 3112 |
| 3 | 6630 | 3112 |
| 0 | 205 | 3852 |
| 1 | 468 | 3360 |
| 2 | 1270 | 3112 |
| 3 | 6630 | 3112 |
| 0 | 205 | 3852 |
| 1 | 468 | 3360 |
| 2 | 1270 | 3112 |
| 3 | 6630 | 3112 |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
Compiled 215 to 168 computations (21.9% saved)
(abs im)
(abs re)
Compiled 782 to 500 computations (36.1% saved)
Loading profile data...