Details

Time bar (total: 26.8s)

analyze2.8s (10.5%)

Algorithm
search
Search
TrueOtherFalseIter
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
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0%99.8%0.2%11
7.6%92.3%0.2%12
19.3%80.5%0.2%13
21.4%78.4%0.2%14
Compiler

Compiled 42 to 20 computations (52.4% saved)

sample15.8s (59.2%)

Results
11.8s2695×body8192exit
1.9s7821×body128valid
1.2s1165×body1024invalid
295.0ms448×body512invalid
173.0ms187×body1024valid
82.0ms131×body512valid
68.0ms142×body256invalid
48.0ms103×body256valid
36.0ms145×body128invalid
32.0ms24×body2048invalid
23.0ms14×body2048valid
Compiler

Compiled 83 to 39 computations (53% saved)

simplify68.0ms (0.3%)

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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
6.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
32.4b
(*.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))))
8.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 (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)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 y.re (atan2.f64 x.im x.re))
0.5b
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
1.6b
(*.f64 (atan2.f64 x.im x.re) y.im)
33.5b
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series745.0ms (2.8%)

Counts
4 → 96
Calls

4 calls:

607.0ms
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
122.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))
9.0ms
(*.f64 y.re (atan2.f64 x.im x.re))
7.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

rewrite16.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:

4.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))))

simplify215.0ms (0.8%)

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

prune490.0ms (1.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New26110271
Fresh101
Picked101
Done000
Total26310273
Error
3.4b
Counts
273 → 10
Alt Table
StatusErrorProgram
8.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
34.9b
(*.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))))
8.5b
(*.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)))))))
20.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.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))))))))
9.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))))
8.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
18.6b
(*.f64 (-.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) (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)))))
38.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 (fma.f64 (log.f64 x.im) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
18.7b
(*.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)))))
21.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 (sqrt.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) (sqrt.f64 (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 15383 to 4890 computations (68.2% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 y.re (atan2.f64 x.im x.re))
0.5b
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
1.6b
(*.f64 (atan2.f64 x.im x.re) y.im)
33.5b
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

prune544.0ms (2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2701271
Fresh189
Picked101
Done000
Total2729281
Error
3.4b
Counts
281 → 9
Alt Table
StatusErrorProgram
8.5b
(*.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)))))))
20.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.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))))))))
9.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))))
8.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
34.9b
(*.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))))
18.6b
(*.f64 (-.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) (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)))))
18.7b
(*.f64 (pow.f64 (exp.f64 y.im) (neg.f64 (atan2.f64 x.im x.re))) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
38.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 (fma.f64 (log.f64 x.im) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
21.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 (sqrt.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) (sqrt.f64 (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 15867 to 5050 computations (68.2% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
0.6b
(expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
1.6b
(*.f64 (atan2.f64 x.im x.re) y.im)
33.5b
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series288.0ms (1.1%)

Counts
1 → 48
Calls

1 calls:

288.0ms
(expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 11
Calls

1 calls:

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

simplify116.0ms (0.4%)

Algorithm
egg-herbie
Rules
654×associate-*l*_binary64
429×times-frac_binary64
371×fma-def_binary64
344×associate-/l*_binary64
305×associate-/r*_binary64
Counts
59 → 80
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06247977
119227339
254147339

prune665.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New3225327
Fresh358
Picked101
Done000
Total32610336
Error
3.4b
Counts
336 → 10
Alt Table
StatusErrorProgram
18.7b
(*.f64 (pow.f64 (exp.f64 y.im) (neg.f64 (atan2.f64 x.im x.re))) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
21.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))) (sqrt.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))))))
8.5b
(*.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)))))))
20.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.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))))))))
9.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))))
38.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (-.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) 1)))
18.6b
(*.f64 (-.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) (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)))))
9.1b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (*.f64 (*.f64 (cbrt.f64 (expm1.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 (expm1.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 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))))
8.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3))))
34.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (/.f64 -1 x.im))))))))
Compiler

Compiled 26058 to 9258 computations (64.5% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
0.8b
(pow.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
1.6b
(*.f64 (atan2.f64 x.im x.re) y.im)
33.5b
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series2.9s (10.9%)

Counts
3 → 128
Calls

3 calls:

2.5s
(pow.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
283.0ms
(expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
111.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

rewrite8.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
3 → 46
Calls

3 calls:

2.0ms
(pow.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
1.0ms
(cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))
0.0ms
(expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))

simplify346.0ms (1.3%)

Algorithm
egg-herbie
Rules
575×associate-*r*_binary64
487×fma-def_binary64
346×associate-*r/_binary64
286×associate-/l*_binary64
85×sub-neg_binary64
Counts
174 → 237
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0219837869
1504437869

prune824.0ms (3.1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2653268
Fresh279
Picked011
Done000
Total26711278
Error
3.4b
Counts
278 → 11
Alt Table
StatusErrorProgram
9.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))))
38.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (-.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) 1)))
8.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)) 3))))
18.6b
(*.f64 (-.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) (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)))))
18.7b
(*.f64 (pow.f64 (exp.f64 y.im) (neg.f64 (atan2.f64 x.im x.re))) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))
9.1b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (*.f64 (*.f64 (cbrt.f64 (expm1.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 (expm1.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 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))))
8.5b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.im x.re)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3))))
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))) (log1p.f64 (cbrt.f64 (-.f64 (fma.f64 3 (exp.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (fma.f64 6 (*.f64 (pow.f64 (exp.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 2) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) y.im))) (pow.f64 (exp.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 3))) (fma.f64 3 (*.f64 (exp.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) y.im))) (fma.f64 3 (*.f64 (pow.f64 (exp.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 3) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) y.im))) (+.f64 1 (*.f64 3 (pow.f64 (exp.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 2)))))))))
52.1b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (cbrt.f64 (-.f64 (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))) 2) (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))))) (pow.f64 x.re 2))) (+.f64 (*.f64 3 (exp.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im))))) (pow.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))) 3))) (+.f64 1 (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))) (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))))) (pow.f64 x.re 2))) (+.f64 (*.f64 3 (pow.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))) 2)) (*.f64 3/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))) 3) (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.re) y.im)))))) (pow.f64 x.re 2))))))))))
34.9b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (/.f64 -1 x.im))))))))
20.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.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))))))))
Compiler

Compiled 54173 to 22681 computations (58.1% saved)

regimes494.0ms (1.8%)

Accuracy

Total 0.4b remaining (11.9%)

Threshold costs 0.4b (11.9%)

Counts
74 → 1
Compiler

Compiled 16167 to 8475 computations (47.6% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01844
12744
23744
34344
44744
54844
64844

end286.0ms (1.1%)

Compiler

Compiled 721 to 327 computations (54.6% saved)

Profiling

Loading profile data...