Details

Time bar (total: 12.6s)

analyze90.0ms (0.7%)

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)

sample3.9s (31.2%)

Results
1.7s1716×body1024valid
1.2s5411×body128valid
683.0ms753×body512valid
131.0ms355×body256valid
109.0ms21×body2048valid
Compiler

Compiled 125 to 59 computations (52.8% saved)

simplify68.0ms (0.5%)

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
14.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
38.6b
(*.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))))
17.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 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
Compiler

Compiled 206 to 96 computations (53.4% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
1.8b
(*.f64 y.re (atan2.f64 x.im x.re))
2.4b
(*.f64 (atan2.f64 x.im x.re) y.im)
40.0b
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series726.0ms (5.8%)

Counts
4 → 96
Calls

4 calls:

604.0ms
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
108.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))
7.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
7.0ms
(*.f64 y.re (atan2.f64 x.im x.re))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
24×*-un-lft-identity_binary64
24×add-cube-cbrt_binary64
21×times-frac_binary64
12×unpow-prod-down_binary64
Counts
4 → 97
Calls

4 calls:

5.0ms
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
3.0ms
(*.f64 y.re (atan2.f64 x.im x.re))
3.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
1.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

simplify214.0ms (1.7%)

Algorithm
egg-herbie
Rules
723×times-frac_binary64
676×fma-def_binary64
672×associate-/l*_binary64
276×*-commutative_binary64
164×cancel-sign-sub-inv_binary64
Counts
193 → 271
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
07049231
122058440
244908380
349648380
448758380

prune518.0ms (4.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New26011271
Fresh101
Picked101
Done000
Total26211273
Error
3.4b
Counts
273 → 11
Alt Table
StatusErrorProgram
23.4b
(*.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))))))))
32.8b
(*.f64 (pow.f64 (exp.f64 y.im) (neg.f64 (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
16.3b
(*.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.im (log.f64 (hypot.f64 x.im x.re)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
40.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 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
17.2b
(*.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 (cbrt.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) (cbrt.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cbrt.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
22.8b
(*.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
16.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 y.re (atan2.f64 x.im x.re))))
17.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) 3)))
17.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 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (*.f64 y.re (*.f64 (cbrt.f64 (atan2.f64 x.im x.re)) (cbrt.f64 (atan2.f64 x.im x.re)))) (cbrt.f64 (atan2.f64 x.im x.re))))))
49.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (exp.f64 (+.f64 (log.f64 (atan2.f64 x.im x.re)) (log.f64 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)))))
17.7b
(*.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 (*.f64 (cbrt.f64 y.re) (cbrt.f64 y.re)) (*.f64 (cbrt.f64 y.re) (atan2.f64 x.im x.re))))))
Compiler

Compiled 15449 to 4936 computations (68% saved)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(*.f64 (atan2.f64 x.im x.re) y.im)
2.4b
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))
26.1b
(sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))
26.3b
(cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

series1.0s (8%)

Counts
3 → 120
Calls

3 calls:

823.0ms
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))
96.0ms
(cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))
90.0ms
(sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
42×distribute-lft-in_binary64
42×distribute-rgt-in_binary64
36×log-prod_binary64
30×sin-sum_binary64
16×*-un-lft-identity_binary64
Counts
3 → 74
Calls

3 calls:

6.0ms
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))
2.0ms
(cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))
2.0ms
(sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

simplify171.0ms (1.4%)

Algorithm
egg-herbie
Rules
622×times-frac_binary64
533×fma-def_binary64
467×*-commutative_binary64
258×associate-*r*_binary64
174×sub-neg_binary64
Counts
194 → 281
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
094711791
1264610991
2496910991

prune634.0ms (5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New3084312
Fresh2810
Picked101
Done000
Total31112323
Error
3.4b
Counts
323 → 12
Alt Table
StatusErrorProgram
23.4b
(*.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))))))))
32.8b
(*.f64 (pow.f64 (exp.f64 y.im) (neg.f64 (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
22.8b
(*.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
17.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) 3)))
17.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 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (*.f64 y.re (*.f64 (cbrt.f64 (atan2.f64 x.im x.re)) (cbrt.f64 (atan2.f64 x.im x.re)))) (cbrt.f64 (atan2.f64 x.im x.re))))))
49.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (exp.f64 (+.f64 (log.f64 (atan2.f64 x.im x.re)) (log.f64 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)))))
17.7b
(*.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 (*.f64 (cbrt.f64 y.re) (cbrt.f64 y.re)) (*.f64 (cbrt.f64 y.re) (atan2.f64 x.im x.re))))))
16.1b
(*.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 (*.f64 (cos.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) y.im)) (cos.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) y.im))) (*.f64 (sin.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) y.im)) (sin.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) y.im)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
15.6b
(*.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 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
40.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 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
24.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 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (hypot.f64 x.re x.im)) 3))))))))
16.3b
(*.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 (*.f64 (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))) (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
Compiler

Compiled 22301 to 7573 computations (66% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
2.4b
(*.f64 (atan2.f64 x.im x.re) y.im)
2.4b
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))
26.1b
(sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

prune696.0ms (5.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New3722374
Fresh11011
Picked101
Done000
Total37412386
Error
2.2b
Counts
386 → 12
Alt Table
StatusErrorProgram
23.4b
(*.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))))))))
32.8b
(*.f64 (pow.f64 (exp.f64 y.im) (neg.f64 (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
22.8b
(*.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
17.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) 3)))
17.7b
(*.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 (*.f64 (cbrt.f64 y.re) (cbrt.f64 y.re)) (*.f64 (cbrt.f64 y.re) (atan2.f64 x.im x.re))))))
15.9b
(*.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 y.re (*.f64 (atan2.f64 x.im x.re) (log.f64 (exp.f64 (sin.f64 (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))))))
16.1b
(*.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 (*.f64 (cos.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) y.im)) (cos.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) y.im))) (*.f64 (sin.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) y.im)) (sin.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) y.im)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
40.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 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
49.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (exp.f64 (+.f64 (log.f64 (atan2.f64 x.im x.re)) (log.f64 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)))))
24.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 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (hypot.f64 x.re x.im)) 3))))))))
10.6b
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (atan2.f64 x.im x.re)))) (-.f64 1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
16.3b
(*.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 (*.f64 (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))) (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
Compiler

Compiled 23676 to 8464 computations (64.3% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 y.re (log.f64 (hypot.f64 x.im x.re)))
2.4b
(*.f64 y.im (atan2.f64 x.im x.re))
2.4b
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))
26.1b
(sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))

series670.0ms (5.3%)

Counts
2 → 48
Calls

2 calls:

662.0ms
(*.f64 y.re (log.f64 (hypot.f64 x.im x.re)))
8.0ms
(*.f64 y.im (atan2.f64 x.im x.re))

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
associate-*r*_binary64
pow1_binary64
Counts
2 → 47
Calls

2 calls:

3.0ms
(*.f64 y.re (log.f64 (hypot.f64 x.im x.re)))
3.0ms
(*.f64 y.im (atan2.f64 x.im x.re))

simplify88.0ms (0.7%)

Algorithm
egg-herbie
Rules
1029×fma-neg_binary64
481×times-frac_binary64
368×associate-*l*_binary64
311×fma-def_binary64
241×associate-/l*_binary64
Counts
95 → 110
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01681741
14071491
211211491
333201491
447351455
550081455

prune621.0ms (4.9%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New3072309
Fresh2911
Picked011
Done000
Total30912321
Error
2.2b
Counts
321 → 12
Alt Table
StatusErrorProgram
23.4b
(*.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))))))))
22.0b
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (atan2.f64 x.im x.re)))) (-.f64 1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (hypot.f64 x.re x.im)) 3))))))))
17.7b
(*.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 (*.f64 (cbrt.f64 y.re) (cbrt.f64 y.re)) (*.f64 (cbrt.f64 y.re) (atan2.f64 x.im x.re))))))
15.9b
(*.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 y.re (*.f64 (atan2.f64 x.im x.re) (log.f64 (exp.f64 (sin.f64 (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))))))
16.1b
(*.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 (*.f64 (cos.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) y.im)) (cos.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) y.im))) (*.f64 (sin.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (hypot.f64 x.im x.re)) (cbrt.f64 (hypot.f64 x.im x.re)))) y.im)) (sin.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 x.im x.re))) y.im)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
16.1b
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (atan2.f64 x.im x.re)))) (-.f64 1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im)))))
40.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 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
17.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) 3)))
49.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (exp.f64 (+.f64 (log.f64 (atan2.f64 x.im x.re)) (log.f64 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)))))
24.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 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (hypot.f64 x.re x.im)) 3))))))))
10.6b
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (atan2.f64 x.im x.re)))) (-.f64 1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
16.3b
(*.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 (*.f64 (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))) (cbrt.f64 (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
Compiler

Compiled 18147 to 6615 computations (63.5% saved)

regimes2.6s (20.7%)

Accuracy

Total 11.1b remaining (83.2%)

Threshold costs 0b (0%)

Counts
274 → 3
Compiler

Compiled 53357 to 30550 computations (42.7% saved)

bsearch112.0ms (0.9%)

Steps
ItersRangePoint
8
1.8249058563034673e-207
3.755867358904482e-200
2.711595358633846e-202
8
-2.6179988326730864e+70
-4.971090745481741e+66
-5.379883987355033e+66
Compiler

Compiled 5 to 4 computations (20% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
045139
173139
293139
3112139
4123139
5127139
6128139
7127139

end288.0ms (2.3%)

Compiler

Compiled 699 to 348 computations (50.2% saved)

Profiling

Loading profile data...