Details

Time bar (total: 17.7s)

analyze112.0ms (0.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
74.9%25%0.2%3
74.9%25%0.2%4
74.9%25%0.2%5
87.3%12.5%0.2%6
93.6%6.2%0.2%7
93.6%6.2%0.2%8
93.6%6.2%0.2%9
96.7%3.1%0.2%10
98.2%1.6%0.2%11
98.2%1.6%0.2%12
98.2%1.6%0.2%13
99%0.8%0.2%14
Compiler

Compiled 42 to 20 computations (52.4% saved)

sample6.7s (37.9%)

Results
3.2s1730×body1024valid
2.1s5427×body128valid
1.0s742×body512valid
214.0ms332×body256valid
52.0ms25×body2048valid
Compiler

Compiled 125 to 59 computations (52.8% saved)

simplify122.0ms (0.7%)

Algorithm
egg-herbie
Rules
892×unswap-sqr_binary64
461×associate-/l*_binary64
323×associate-/r*_binary64
296×associate-*l/_binary64
286×associate-*r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02040
13938
27038
311838
426338
599638
6304338
7408538
8454138
9486638
10493238

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
11.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
35.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))))
Compiler

Compiled 206 to 96 computations (53.4% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
0.9b
(*.f64 y.re (atan2.f64 x.im x.re))
0.9b
(*.f64 (atan2.f64 x.im x.re) y.im)
40.9b
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series843.0ms (4.8%)

Counts
4 → 96
Calls

4 calls:

624.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
191.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))
15.0ms
(*.f64 y.re (atan2.f64 x.im x.re))
13.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 60
Calls

4 calls:

5.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
4.0ms
(*.f64 y.re (atan2.f64 x.im x.re))
2.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))
0.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))

simplify282.0ms (1.6%)

Algorithm
egg-herbie
Rules
949×fma-def_binary64
432×associate-*r*_binary64
294×associate-*l*_binary64
265×*-commutative_binary64
239×times-frac_binary64
Counts
156 → 186
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04295759
112975196
241265176
349445176
448885176

prune531.0ms (3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1806186
Fresh011
Picked101
Done000
Total1817188
Error
4.0b
Counts
188 → 7
Alt Table
StatusErrorProgram
35.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))))
27.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (expm1.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
13.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
13.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log.f64 (exp.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
14.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) (cbrt.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) (cbrt.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
21.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (-.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im y.im) (pow.f64 (log.f64 (hypot.f64 x.im x.re)) 2))) (*.f64 (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.im (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
11.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))
Compiler

Compiled 9410 to 3148 computations (66.5% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))
0.3b
(*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))
0.9b
(*.f64 (atan2.f64 x.im x.re) y.im)
27.8b
(cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

series1.3s (7.3%)

Counts
3 → 80
Calls

3 calls:

1.1s
(*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))
161.0ms
(cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))
14.0ms
(exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×log-prod_binary64
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
pow1_binary64
Counts
3 → 54
Calls

3 calls:

5.0ms
(*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))
2.0ms
(exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))
2.0ms
(cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

simplify209.0ms (1.2%)

Algorithm
egg-herbie
Rules
426×associate-*r*_binary64
410×cancel-sign-sub-inv_binary64
266×fma-neg_binary64
264×sub-neg_binary64
263×*-commutative_binary64
Counts
134 → 182
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04244561
111834067
239144012
350004012
449214012

prune521.0ms (2.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2075212
Fresh336
Picked101
Done000
Total2118219
Error
2.7b
Counts
219 → 8
Alt Table
StatusErrorProgram
22.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (fma.f64 y.im (atan2.f64 x.im x.re) 1)) (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))
20.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (log.f64 (hypot.f64 x.re x.im)) 2) (*.f64 y.im y.im)))))
10.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
10.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (-.f64 (*.f64 (cos.f64 (*.f64 y.im (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (cos.f64 (*.f64 y.im (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (*.f64 (sin.f64 (*.f64 y.im (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (sin.f64 (*.f64 y.im (log.f64 (cbrt.f64 (hypot.f64 x.re x.im))))))))
35.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))))
27.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (expm1.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
13.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
11.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log.f64 (exp.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))))
Compiler

Compiled 8588 to 3275 computations (61.9% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))
0.6b
(cbrt.f64 y.im)
0.9b
(*.f64 (atan2.f64 x.im x.re) y.im)
27.9b
(cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re)))))

series304.0ms (1.7%)

Counts
3 → 60
Calls

3 calls:

167.0ms
(cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re)))))
73.0ms
(*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))
64.0ms
(cbrt.f64 y.im)

rewrite27.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
16×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
12×distribute-lft-in_binary64
Counts
3 → 76
Calls

3 calls:

9.0ms
(*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))
7.0ms
(cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re)))))
1.0ms
(cbrt.f64 y.im)

simplify221.0ms (1.3%)

Algorithm
egg-herbie
Rules
714×fma-def_binary64
530×associate-*r*_binary64
358×associate-*l*_binary64
262×*-commutative_binary64
198×times-frac_binary64
Counts
136 → 161
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04343876
110393565
242733513
348843506
449713506

prune623.0ms (3.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2205225
Fresh347
Picked101
Done000
Total2249233
Error
2.7b
Counts
233 → 9
Alt Table
StatusErrorProgram
27.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (expm1.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
11.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
11.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (cos.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))))) (*.f64 (sin.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (sin.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))))))
10.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log.f64 (exp.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))))
10.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (-.f64 (*.f64 (cos.f64 (*.f64 y.im (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (cos.f64 (*.f64 y.im (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (*.f64 (sin.f64 (*.f64 y.im (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (sin.f64 (*.f64 y.im (log.f64 (cbrt.f64 (hypot.f64 x.re x.im))))))))
22.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (fma.f64 y.im (atan2.f64 x.im x.re) 1)) (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))
35.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))))
38.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (*.f64 (pow.f64 (*.f64 -1 y.im) 1/3) (cbrt.f64 -1))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
10.4b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
Compiler

Compiled 10415 to 3302 computations (68.3% saved)

localize46.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 y.im)
0.6b
(cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
0.9b
(*.f64 (atan2.f64 x.im x.re) y.im)
27.7b
(cos.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re)))))

series550.0ms (3.1%)

Counts
2 → 48
Calls

2 calls:

411.0ms
(cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
139.0ms
(cos.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re)))))

rewrite32.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
12×distribute-lft-in_binary64
12×cos-sum_binary64
12×distribute-rgt-in_binary64
12×log-prod_binary64
*-un-lft-identity_binary64
Counts
2 → 32
Calls

2 calls:

12.0ms
(cos.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re)))))
5.0ms
(cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))

simplify200.0ms (1.1%)

Algorithm
egg-herbie
Rules
815×fma-def_binary64
378×cancel-sign-sub-inv_binary64
369×associate-*r*_binary64
287×sub-neg_binary64
274×*-commutative_binary64
Counts
80 → 96
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04024138
19993253
236763133
346683133
449383133
547343133

prune966.0ms (5.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2752277
Fresh178
Picked101
Done000
Total2779286
Error
2.6b
Counts
286 → 9
Alt Table
StatusErrorProgram
40.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (*.f64 (pow.f64 (*.f64 -1 y.im) 1/3) (cbrt.f64 -1))))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
22.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (fma.f64 y.im (atan2.f64 x.im x.re) 1)) (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))
27.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (expm1.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
11.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
10.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log.f64 (exp.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))))
10.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (-.f64 (*.f64 (cos.f64 (*.f64 y.im (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (cos.f64 (*.f64 y.im (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (*.f64 (sin.f64 (*.f64 y.im (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 x.re x.im)))))) (sin.f64 (*.f64 y.im (log.f64 (cbrt.f64 (hypot.f64 x.re x.im))))))))
11.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (cbrt.f64 (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 y.im)) (cbrt.f64 (cbrt.f64 y.im))) (cbrt.f64 (cbrt.f64 y.im))) (log.f64 (hypot.f64 x.im x.re))))))
35.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))))
38.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 y.im) (*.f64 (pow.f64 (*.f64 -1 y.im) 1/3) (cbrt.f64 -1))) (*.f64 (cbrt.f64 y.im) (log.f64 (hypot.f64 x.im x.re))))))
Compiler

Compiled 15133 to 3451 computations (77.2% saved)

regimes3.2s (18.2%)

Accuracy

Total 8.3b remaining (59.7%)

Threshold costs 0b (0%)

Counts
152 → 4
Compiler

Compiled 29812 to 16250 computations (45.5% saved)

bsearch272.0ms (1.5%)

Steps
ItersRangePoint
7
4.822291509618373e+91
3.4781682669936034e+93
7.380232567388229e+91
6
1.1447281598637583e-20
2.2077963106627514e-13
8.81112223723101e-16
9
-5.582449950854059e+20
-8721849254560.151
-10650560034225.063
Compiler

Compiled 5 to 4 computations (20% saved)

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Rules
18×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054275
176275
285275
391275
495275
596275
695275

end479.0ms (2.7%)

Compiler

Compiled 714 to 309 computations (56.7% saved)

Profiling

Loading profile data...