Time bar (total: 2.8min)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 9.4% | 90.4% | 0.2% | 6 |
| 17.2% | 82.7% | 0.2% | 7 |
| 19.5% | 80.3% | 0.2% | 8 |
| 30.8% | 69% | 0.2% | 9 |
| 35.5% | 64.3% | 0.2% | 10 |
| 42.4% | 57.4% | 0.2% | 11 |
| 47.1% | 52.7% | 0.2% | 12 |
| 48.9% | 50.8% | 0.3% | 13 |
| 50% | 49.7% | 0.4% | 14 |
Compiled 38 to 20 computations (47.4% saved)
| 1× | intervals |
| 53.0ms | 66× | body | 1024 | invalid |
| 43.0ms | 244× | body | 128 | valid |
| 18.0ms | 33× | body | 512 | invalid |
| 4.0ms | 11× | body | 256 | invalid |
| 3.0ms | 4× | body | 1024 | valid |
| 3.0ms | 5× | body | 512 | valid |
| 3.0ms | 15× | body | 128 | invalid |
| 1.0ms | 1× | body | 2048 | invalid |
| 1.0ms | 3× | body | 256 | valid |
Compiled 75 to 43 computations (42.7% saved)
| 1× | egg-herbie |
Useful iterations: 0 (91.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4944 | 72 |
| 1 | 4944 | 72 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
Compiled 36 to 19 computations (47.2% saved)
Found 8 expressions with local error:
| 0.0b | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 32.4b | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 1× | rewrite-expression-head |
| 12× | add-sqr-sqrt_binary64 |
| 8× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 6× | add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-prod_binary64 |
| 4× | add-log-exp_binary64 sqrt-div_binary64 |
| 3× | associate-*r*_binary64 associate-*l*_binary64 |
| 2× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
| 1× | pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 cos-sum_binary64 *-commutative_binary64 |
8 calls:
| 22.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 6.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 6.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 5.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 307.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 105.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 103.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 69.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
Compiled 3316 to 2169 computations (34.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (78.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4945 | 1979 |
| 1 | 4945 | 1979 |
Found 8 expressions with local error:
| 0.0b | (*.f64 (/.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) |
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 32.4b | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 1× | rewrite-expression-head |
| 12× | add-sqr-sqrt_binary64 |
| 8× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 6× | add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-prod_binary64 |
| 4× | add-log-exp_binary64 sqrt-div_binary64 |
| 3× | associate-*r*_binary64 associate-*l*_binary64 |
| 2× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
| 1× | pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 cos-sum_binary64 *-commutative_binary64 |
8 calls:
| 6.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 4.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 229.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 142.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 102.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 72.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
Compiled 3442 to 2253 computations (34.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (76.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4945 | 2077 |
| 1 | 4945 | 2077 |
75 alts after pruning (73 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 141 | 73 | 214 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 2 | 2 |
| Total | 141 | 75 | 216 |
Compiled 9224 to 3565 computations (61.4% saved)
Found 8 expressions with local error:
| 1.1b | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 0.3b | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) |
| 0.0b | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.1b | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 15.8b | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 14× | add-sqr-sqrt_binary64 |
| 9× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 8× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 6× | associate-*r*_binary64 associate-*l*_binary64 |
| 4× | add-log-exp_binary64 |
| 3× | sqrt-prod_binary64 |
| 2× | pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 sqrt-div_binary64 *-commutative_binary64 |
| 1× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
8 calls:
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 4.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 3.0ms | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 1.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 134.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 127.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 70.0ms | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 67.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
Compiled 2114 to 1494 computations (29.3% saved)
| 1× | egg-herbie |
Useful iterations: 0 (44.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5121 | 1447 |
Found 8 expressions with local error:
| 1.1b | (*.f64 y.re (atan2.f64 x.im x.re)) |
| 0.0b | (/.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) |
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.1b | (*.f64 y.re (atan2.f64 x.im x.re)) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 15.8b | (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 14× | add-sqr-sqrt_binary64 |
| 9× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 8× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 6× | associate-*r*_binary64 associate-*l*_binary64 |
| 4× | add-log-exp_binary64 |
| 3× | sqrt-prod_binary64 |
| 2× | pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 sqrt-div_binary64 *-commutative_binary64 |
| 1× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
8 calls:
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 4.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 3.0ms | (*.f64 y.re (atan2.f64 x.im x.re)) |
| 2.0ms | (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 131.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 122.0ms | (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) |
| 68.0ms | (*.f64 y.re (atan2.f64 x.im x.re)) |
| 66.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
Compiled 2036 to 1416 computations (30.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (45.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5145 | 1447 |
Found 8 expressions with local error:
| 0.1b | (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) |
| 0.0b | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 7.8b | (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 7.8b | (/.f64 (pow.f64 x.im 2) x.re) |
| 15.8b | (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 24× | add-sqr-sqrt_binary64 times-frac_binary64 |
| 23× | *-un-lft-identity_binary64 add-cube-cbrt_binary64 |
| 12× | unpow-prod-down_binary64 |
| 10× | add-exp-log_binary64 |
| 8× | associate-/l*_binary64 |
| 6× | pow1_binary64 add-cbrt-cube_binary64 |
| 4× | add-log-exp_binary64 unpow2_binary64 sqr-pow_binary64 |
| 3× | associate-/r*_binary64 log-prod_binary64 div-exp_binary64 sqrt-prod_binary64 |
| 2× | flip3-+_binary64 log-div_binary64 flip-+_binary64 sqrt-div_binary64 |
| 1× | pow-to-exp_binary64 pow1/2_binary64 cbrt-undiv_binary64 rem-log-exp_binary64 log-pow_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 clear-num_binary64 frac-2neg_binary64 cos-sum_binary64 div-inv_binary64 pow-exp_binary64 |
8 calls:
| 5.0ms | (/.f64 (pow.f64 x.im 2) x.re) |
| 5.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 3.0ms | (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 252.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 103.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 75.0ms | (/.f64 (pow.f64 x.im 2) x.re) |
| 66.0ms | (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
Compiled 2872 to 2009 computations (30% saved)
| 1× | egg-herbie |
Useful iterations: 0 (64.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5009 | 2452 |
Found 8 expressions with local error:
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (/.f64 (pow.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) |
| 0.0b | (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 12.4b | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 19.4b | (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 32.4b | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 1× | rewrite-expression-head |
| 84× | times-frac_binary64 |
| 63× | unpow-prod-down_binary64 |
| 57× | add-sqr-sqrt_binary64 |
| 56× | *-un-lft-identity_binary64 add-cube-cbrt_binary64 |
| 24× | cube-prod_binary64 |
| 21× | sqr-pow_binary64 |
| 16× | add-exp-log_binary64 |
| 12× | associate-/r*_binary64 |
| 9× | add-log-exp_binary64 div-exp_binary64 |
| 8× | unpow3_binary64 cube-mult_binary64 |
| 7× | associate-/l*_binary64 |
| 6× | pow-to-exp_binary64 add-cbrt-cube_binary64 pow-exp_binary64 |
| 5× | pow1_binary64 |
| 3× | cancel-sign-sub-inv_binary64 sqrt-prod_binary64 |
| 2× | flip3-+_binary64 diff-log_binary64 associate-*r/_binary64 flip-+_binary64 frac-sub_binary64 sqrt-div_binary64 |
| 1× | sub-neg_binary64 pow1/2_binary64 associate--r+_binary64 flip3--_binary64 cbrt-undiv_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 clear-num_binary64 frac-2neg_binary64 cos-sum_binary64 div-inv_binary64 flip--_binary64 sum-log_binary64 |
8 calls:
| 16.0ms | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 8.0ms | (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) |
| 6.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 411.0ms | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 244.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 133.0ms | (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) |
| 48.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
Compiled 3329 to 2368 computations (28.9% saved)
| 1× | egg-herbie |
Useful iterations: 0 (49.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4968 | 4769 |
| 1 | 4968 | 4769 |
Found 8 expressions with local error:
| 0.0b | (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))) |
| 0.0b | (exp.f64 (*.f64 (*.f64 (sqrt.f64 (atan2.f64 x.im x.re)) (sqrt.f64 y.im)) (*.f64 (sqrt.f64 (atan2.f64 x.im x.re)) (sqrt.f64 y.im)))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 4.1b | (sqrt.f64 (atan2.f64 x.im x.re)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 32.4b | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 1× | rewrite-expression-head |
| 10× | add-sqr-sqrt_binary64 |
| 9× | sqrt-prod_binary64 |
| 7× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 4× | add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64 |
| 3× | pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 |
| 2× | flip3-+_binary64 flip-+_binary64 |
| 1× | cos-sum_binary64 |
8 calls:
| 7.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1.0ms | (sqrt.f64 (atan2.f64 x.im x.re)) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 239.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 114.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 50.0ms | (sqrt.f64 (atan2.f64 x.im x.re)) |
| 42.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
Compiled 3282 to 1899 computations (42.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (61.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4947 | 1642 |
| 1 | 4947 | 1642 |
268 alts after pruning (261 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 431 | 194 | 625 |
| Fresh | 1 | 67 | 68 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 7 | 7 |
| Total | 432 | 268 | 700 |
Compiled 27390 to 13242 computations (51.7% saved)
Found 8 expressions with local error:
| 0.0b | (-.f64 (*.f64 (log.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
| 0.0b | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
| 0.0b | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
| 15.8b | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 31.2b | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 31.2b | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 31.2b | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 1× | rewrite-expression-head |
| 19× | *-un-lft-identity_binary64 |
| 15× | sqrt-prod_binary64 |
| 10× | add-sqr-sqrt_binary64 |
| 7× | pow1_binary64 add-cube-cbrt_binary64 |
| 6× | distribute-lft-out_binary64 unpow-prod-down_binary64 sqrt-div_binary64 |
| 4× | add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 |
| 3× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
8 calls:
| 9.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 8.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 8.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 1.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 0.0ms | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
4 calls:
| 150.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 125.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 121.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 119.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
Compiled 3884 to 3012 computations (22.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (73.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4957 | 1781 |
| 1 | 4957 | 1781 |
Found 8 expressions with local error:
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 0.0b | (/.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) |
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 10× | add-sqr-sqrt_binary64 |
| 8× | add-log-exp_binary64 |
| 7× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 6× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 3× | associate-*r*_binary64 associate-*l*_binary64 sqrt-prod_binary64 |
| 2× | flip3-+_binary64 flip-+_binary64 sqrt-div_binary64 |
| 1× | pow-prod-down_binary64 pow1/2_binary64 cbrt-unprod_binary64 rem-exp-log_binary64 sqrt-pow1_binary64 unswap-sqr_binary64 rem-sqrt-square_binary64 prod-exp_binary64 +-commutative_binary64 exp-to-pow_binary64 exp-prod_binary64 sum-log_binary64 *-commutative_binary64 |
8 calls:
| 4.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 3.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 2.0ms | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 131.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 93.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 82.0ms | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 61.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
Compiled 1692 to 1405 computations (17% saved)
| 1× | egg-herbie |
Useful iterations: 0 (53.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4979 | 1515 |
| 1 | 4979 | 1515 |
Found 8 expressions with local error:
| 0.0b | (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) |
| 0.0b | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| 0.0b | (-.f64 (*.f64 (log.f64 (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))) |
| 7.8b | (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 7.8b | (/.f64 (pow.f64 x.im 2) x.re) |
| 8.0b | (/.f64 (pow.f64 x.re 2) x.im) |
| 15.8b | (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 1× | rewrite-expression-head |
| 48× | times-frac_binary64 |
| 39× | *-un-lft-identity_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64 |
| 24× | unpow-prod-down_binary64 |
| 16× | associate-/l*_binary64 |
| 15× | add-exp-log_binary64 |
| 8× | unpow2_binary64 sqr-pow_binary64 add-cbrt-cube_binary64 |
| 6× | associate-/r*_binary64 div-exp_binary64 |
| 5× | pow1_binary64 |
| 4× | add-log-exp_binary64 |
| 3× | log-prod_binary64 |
| 2× | pow-to-exp_binary64 cbrt-undiv_binary64 clear-num_binary64 frac-2neg_binary64 div-inv_binary64 log-div_binary64 pow-exp_binary64 |
| 1× | flip3-+_binary64 rem-log-exp_binary64 log-pow_binary64 cos-sum_binary64 flip-+_binary64 |
8 calls:
| 8.0ms | (/.f64 (pow.f64 x.re 2) x.im) |
| 5.0ms | (/.f64 (pow.f64 x.im 2) x.re) |
| 5.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 3.0ms | (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 0.0ms | (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))) |
4 calls:
| 266.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 82.0ms | (/.f64 (pow.f64 x.re 2) x.im) |
| 72.0ms | (/.f64 (pow.f64 x.im 2) x.re) |
| 67.0ms | (log.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
Compiled 2540 to 1823 computations (28.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (48.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5066 | 2711 |
Found 8 expressions with local error:
| 0.3b | (*.f64 y.im (cbrt.f64 (atan2.f64 x.im x.re))) |
| 0.3b | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) |
| 0.0b | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (*.f64 (cbrt.f64 (atan2.f64 x.im x.re)) (cbrt.f64 (atan2.f64 x.im x.re))) (*.f64 y.im (cbrt.f64 (atan2.f64 x.im x.re))))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 4.5b | (cbrt.f64 (atan2.f64 x.im x.re)) |
| 4.5b | (cbrt.f64 (atan2.f64 x.im x.re)) |
| 15.8b | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 8× | add-sqr-sqrt_binary64 |
| 7× | *-un-lft-identity_binary64 add-cube-cbrt_binary64 |
| 6× | cbrt-prod_binary64 |
| 5× | pow1_binary64 |
| 4× | add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 |
| 3× | sqrt-prod_binary64 |
| 2× | pow1/3_binary64 sqrt-div_binary64 |
| 1× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
8 calls:
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 1.0ms | (cbrt.f64 (atan2.f64 x.im x.re)) |
| 1.0ms | (cbrt.f64 (atan2.f64 x.im x.re)) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 158.0ms | (cbrt.f64 (atan2.f64 x.im x.re)) |
| 150.0ms | (cbrt.f64 (atan2.f64 x.im x.re)) |
| 137.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 128.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
Compiled 2564 to 1536 computations (40.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (43.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5069 | 1159 |
Found 8 expressions with local error:
| 0.0b | (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))))) |
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (/.f64 (pow.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) |
| 0.0b | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
| 12.4b | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 19.4b | (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) |
| 31.2b | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 32.4b | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 1× | rewrite-expression-head |
| 84× | times-frac_binary64 |
| 65× | unpow-prod-down_binary64 |
| 60× | *-un-lft-identity_binary64 |
| 57× | add-sqr-sqrt_binary64 |
| 56× | add-cube-cbrt_binary64 |
| 24× | cube-prod_binary64 |
| 21× | sqr-pow_binary64 |
| 16× | add-exp-log_binary64 |
| 12× | associate-/r*_binary64 |
| 9× | add-log-exp_binary64 div-exp_binary64 |
| 8× | unpow3_binary64 cube-mult_binary64 |
| 7× | associate-/l*_binary64 |
| 6× | pow-to-exp_binary64 add-cbrt-cube_binary64 pow-exp_binary64 |
| 5× | pow1_binary64 sqrt-prod_binary64 |
| 3× | cancel-sign-sub-inv_binary64 |
| 2× | flip3-+_binary64 diff-log_binary64 distribute-lft-out_binary64 associate-*r/_binary64 flip-+_binary64 frac-sub_binary64 sqrt-div_binary64 |
| 1× | sub-neg_binary64 pow1/2_binary64 associate--r+_binary64 flip3--_binary64 cbrt-undiv_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 clear-num_binary64 frac-2neg_binary64 cos-sum_binary64 div-inv_binary64 flip--_binary64 sum-log_binary64 |
8 calls:
| 19.0ms | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 8.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 8.0ms | (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) |
| 7.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 0.0ms | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
4 calls:
| 416.0ms | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 239.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 133.0ms | (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) |
| 50.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
Compiled 3473 to 2584 computations (25.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (69.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4938 | 4733 |
| 1 | 4938 | 4733 |
431 alts after pruning (419 fresh and 12 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 482 | 173 | 655 |
| Fresh | 10 | 246 | 256 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 12 | 12 |
| Total | 492 | 431 | 923 |
Compiled 35653 to 21989 computations (38.3% saved)
Found 8 expressions with local error:
| 1.1b | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 0.3b | (*.f64 (log.f64 (fabs.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) y.re) |
| 0.0b | (-.f64 (*.f64 (log.f64 (fabs.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.1b | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 15.8b | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 14× | add-sqr-sqrt_binary64 |
| 9× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 |
| 8× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 6× | associate-*r*_binary64 associate-*l*_binary64 |
| 4× | add-log-exp_binary64 |
| 3× | sqrt-prod_binary64 |
| 2× | pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 sqrt-div_binary64 *-commutative_binary64 |
| 1× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
8 calls:
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 4.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 4.0ms | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 2.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 119.0ms | (cos.f64 (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 75.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 73.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 68.0ms | (*.f64 (atan2.f64 x.im x.re) y.re) |
Compiled 1910 to 1356 computations (29% saved)
| 1× | egg-herbie |
Useful iterations: 0 (37.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5119 | 1249 |
Found 4 expressions with local error:
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 4× | add-log-exp_binary64 add-sqr-sqrt_binary64 |
| 3× | *-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64 |
| 2× | flip3-+_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 flip-+_binary64 sqrt-div_binary64 |
| 1× | pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 +-commutative_binary64 sum-log_binary64 |
4 calls:
| 4.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
2 calls:
| 121.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 81.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
Compiled 726 to 726 computations (0% saved)
| 1× | egg-herbie |
Useful iterations: 0 (67.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4947 | 1034 |
| 1 | 4947 | 1034 |
Found 8 expressions with local error:
| 0.0b | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im))) |
| 0.0b | (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 1.3b | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 25.1b | (cos.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 31.2b | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 1× | rewrite-expression-head |
| 12× | *-un-lft-identity_binary64 add-sqr-sqrt_binary64 |
| 8× | pow1_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64 |
| 6× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 4× | add-log-exp_binary64 sqrt-div_binary64 |
| 3× | associate-*r*_binary64 associate-*l*_binary64 |
| 2× | flip3-+_binary64 pow1/2_binary64 distribute-lft-out_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 unpow-prod-down_binary64 flip-+_binary64 |
| 1× | pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 *-commutative_binary64 |
8 calls:
| 8.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 4.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 2.0ms | (cos.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im)) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 197.0ms | (cos.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im)) |
| 111.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 100.0ms | (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) |
| 75.0ms | (*.f64 (atan2.f64 x.im x.re) y.im) |
Compiled 2750 to 2152 computations (21.7% saved)
| 1× | egg-herbie |
Useful iterations: 0 (65.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4996 | 1736 |
| 1 | 4996 | 1736 |
Found 8 expressions with local error:
| 0.0b | (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im (/.f64 4 2)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) |
| 0.0b | (/.f64 (pow.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im (/.f64 4 2)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 12.4b | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im (/.f64 4 2)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 15.3b | (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 32.4b | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 1× | rewrite-expression-head |
| 96× | times-frac_binary64 |
| 66× | unpow-prod-down_binary64 |
| 60× | add-sqr-sqrt_binary64 |
| 59× | *-un-lft-identity_binary64 add-cube-cbrt_binary64 |
| 27× | cube-prod_binary64 |
| 22× | sqr-pow_binary64 |
| 16× | add-exp-log_binary64 |
| 13× | unpow2_binary64 |
| 12× | associate-/l*_binary64 |
| 9× | add-log-exp_binary64 div-exp_binary64 unpow3_binary64 cube-mult_binary64 |
| 8× | associate-/r*_binary64 |
| 6× | pow-to-exp_binary64 add-cbrt-cube_binary64 pow-exp_binary64 |
| 5× | pow1_binary64 |
| 3× | cancel-sign-sub-inv_binary64 sqrt-prod_binary64 |
| 2× | flip3-+_binary64 diff-log_binary64 associate-*r/_binary64 flip-+_binary64 frac-sub_binary64 sqrt-div_binary64 |
| 1× | sub-neg_binary64 pow1/2_binary64 associate--r+_binary64 flip3--_binary64 cbrt-undiv_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 clear-num_binary64 frac-2neg_binary64 cos-sum_binary64 div-inv_binary64 flip--_binary64 sum-log_binary64 |
8 calls:
| 69.0ms | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im (/.f64 4 2)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 8.0ms | (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)) |
| 6.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 0.0ms | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
4 calls:
| 409.0ms | (-.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im (/.f64 4 2)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))) |
| 253.0ms | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) |
| 110.0ms | (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 2)) |
| 51.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
Compiled 3617 to 2608 computations (27.9% saved)
| 1× | egg-herbie |
Useful iterations: 0 (52.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4971 | 4810 |
| 1 | 4971 | 4810 |
Found 8 expressions with local error:
| 0.1b | (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 x.im 2)) (cbrt.f64 (pow.f64 x.im 2))) (sqrt.f64 x.re)) (/.f64 (cbrt.f64 (pow.f64 x.im 2)) (sqrt.f64 x.re))) |
| 0.0b | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0.0b | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 0.0b | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 x.im 2)) (cbrt.f64 (pow.f64 x.im 2))) (sqrt.f64 x.re)) (/.f64 (cbrt.f64 (pow.f64 x.im 2)) (sqrt.f64 x.re)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| 31.2b | (cbrt.f64 (pow.f64 x.im 2)) |
| 31.2b | (cbrt.f64 (pow.f64 x.im 2)) |
| 31.2b | (cbrt.f64 (pow.f64 x.im 2)) |
| 31.2b | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 1× | rewrite-expression-head |
| 24× | cbrt-prod_binary64 |
| 12× | add-sqr-sqrt_binary64 |
| 11× | *-un-lft-identity_binary64 add-cube-cbrt_binary64 |
| 9× | unpow-prod-down_binary64 |
| 5× | pow1_binary64 |
| 4× | add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 |
| 3× | unpow2_binary64 pow1/3_binary64 sqr-pow_binary64 sqrt-prod_binary64 |
| 2× | sqrt-div_binary64 |
| 1× | flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64 |
8 calls:
| 4.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 2.0ms | (cbrt.f64 (pow.f64 x.im 2)) |
| 2.0ms | (cbrt.f64 (pow.f64 x.im 2)) |
| 2.0ms | (cbrt.f64 (pow.f64 x.im 2)) |
| 0.0ms | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (+.f64 x.re (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 x.im 2)) (cbrt.f64 (pow.f64 x.im 2))) (sqrt.f64 x.re)) (/.f64 (cbrt.f64 (pow.f64 x.im 2)) (sqrt.f64 x.re)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
4 calls:
| 127.0ms | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 89.0ms | (cbrt.f64 (pow.f64 x.im 2)) |
| 82.0ms | (cbrt.f64 (pow.f64 x.im 2)) |
| 79.0ms | (cbrt.f64 (pow.f64 x.im 2)) |
Compiled 2120 to 1522 computations (28.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (37.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5055 | 1028 |
591 alts after pruning (575 fresh and 16 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 383 | 183 | 566 |
| Fresh | 22 | 392 | 414 |
| Picked | 0 | 0 | 0 |
| Done | 1 | 16 | 17 |
| Total | 406 | 591 | 997 |
Compiled 14475 to 6682 computations (53.8% saved)
| 1× | egg-herbie |
Useful iterations: 0 (56.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5053 | 99575 |
Compiled 245971 to 174222 computations (29.2% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 3 | 7.485832770081977e-56 | 1.0011540738404607e-55 | 8.213506235332776e-56 |
| 7 | -6.6478224099761884e+103 | -9.301590631095428e+101 | -9.437066424131207e+101 |
Compiled 1 to 4 computations (-300% saved)
Compiled 4264 to 3860 computations (9.5% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 3 | -112325087553573.72 | -78864955021725.7 | -80956213304966.22 |
Compiled 1 to 4 computations (-300% saved)
Compiled 4188 to 3804 computations (9.2% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 3 | 7.485832770081977e-56 | 1.0011540738404607e-55 | 8.213506235332776e-56 |
| 9 | 1.9095769352958856e-140 | 1.8833972208446976e-135 | 6.050372847421959e-137 |
| 8 | -3.915659362676596e-306 | 3.3491533533387655e-307 | -2.6615346232889e-310 |
Compiled 1 to 4 computations (-300% saved)
Compiled 3284 to 2984 computations (9.1% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 3 | 7.485832770081977e-56 | 1.0011540738404607e-55 | 7.585723575808189e-56 |
| 9 | 1.9095769352958856e-140 | 1.8833972208446976e-135 | 5.2362255579481547e-138 |
| 8 | -3.915659362676596e-306 | 3.3491533533387655e-307 | 8.8604533274285e-310 |
| 8 | -3.9015081324143217e-29 | -3.646830102185637e-33 | -1.9239150977086479e-31 |
Compiled 1 to 4 computations (-300% saved)
Compiled 2920 to 2720 computations (6.8% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 8 | 1.127764409763547e-91 | 8.970418581825754e-88 | 1.0099943610527774e-89 |
| 9 | 1.0494697433290072e-163 | 1.2520286740487143e-157 | 1.1180088059793839e-163 |
| 10 | -1.7491402500417026e-304 | 9.280213698582033e-299 | 2.107910171741242e-304 |
| 8 | -3.0635695679673836e-270 | -1.4176318963701347e-274 | -3.0103639225785356e-270 |
| 7 | -2.0146251141338312e-215 | -8.031731115918593e-217 | -3.337876888210069e-216 |
| 3 | -1.5078487050365128e-191 | -1.2536460616856681e-191 | -1.432227224093284e-191 |
| 7 | -2.311849759883921e+66 | -7.266055324680505e+64 | -6.236497842777764e+65 |
Compiled 1 to 4 computations (-300% saved)
Compiled 1448 to 1472 computations (-1.7% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 3.0659979301545097e-06 | 0.38767664572984284 | 0.383540112365557 |
| 7 | 1.849725606459231e-151 | 2.005130727836764e-149 | 2.2969899053499743e-151 |
| 2 | -4.825978818016433e-270 | -4.033641851884393e-270 | -4.528852455716918e-270 |
| 8 | -9.202900525937869e-117 | -7.237486307090217e-120 | -3.250382936462931e-117 |
| 8 | -1.8660232343950614e+35 | -3.930779446528964e+32 | -3.987264733662572e+32 |
Compiled 1 to 4 computations (-300% saved)
Compiled 1220 to 1292 computations (-5.9% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 3.0659979301545097e-06 | 0.38767664572984284 | 0.2511710447084123 |
| 7 | 1.849725606459231e-151 | 2.005130727836764e-149 | 1.749782679206405e-150 |
| 2 | -4.825978818016433e-270 | -4.033641851884393e-270 | -4.3307682141839085e-270 |
| 8 | -9.202900525937869e-117 | -7.237486307090217e-120 | -4.159872953407092e-119 |
| 8 | -1.8660232343950614e+35 | -3.930779446528964e+32 | -3.987264733662572e+32 |
Compiled 1 to 4 computations (-300% saved)
Total 2.3b remaining (42.3%)
Threshold costs 0b (0%)
Compiled 140 to 244 computations (-74.3% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 3.0659979301545097e-06 | 0.38767664572984284 | 1.1269981410690433e-05 |
| 6 | 2.0653943270987655e-131 | 8.510787908268941e-131 | 2.0834915756950648e-131 |
| 7 | 1.849725606459231e-151 | 2.005130727836764e-149 | 1.7459411491827386e-149 |
| 8 | -1.8660232343950614e+35 | -3.930779446528964e+32 | -3.987264733662572e+32 |
Compiled 555 to 298 computations (46.3% saved)
| 1× | egg-herbie |
Useful iterations: 0 (5.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 241 | 896 |
| 1 | 241 | 896 |
| 1× | intervals |
| 1.2s | 2371× | body | 1024 | invalid |
| 853.0ms | 7576× | body | 128 | valid |
| 370.0ms | 1019× | body | 512 | invalid |
| 105.0ms | 205× | body | 1024 | valid |
| 97.0ms | 420× | body | 256 | invalid |
| 64.0ms | 547× | body | 128 | invalid |
| 40.0ms | 114× | body | 512 | valid |
| 28.0ms | 33× | body | 2048 | invalid |
| 20.0ms | 86× | body | 256 | valid |
| 15.0ms | 19× | body | 2048 | valid |
Compiled 50606 to 35611 computations (29.6% saved)
0.3631703024591112
Loading profile data...