Details

Time bar (total: 11.7s)

analyze1.8s (15.3%)

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
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.9%0.2%13
50%49.7%0.2%14
Compiler

Compiled 42 to 20 computations (52.4% saved)

sample5.7s (48.9%)

Results
2.4s2545×body1024invalid
1.8s7846×body128valid
667.0ms979×body512invalid
307.0ms196×body2048invalid
160.0ms179×body1024valid
155.0ms360×body256invalid
120.0ms532×body128invalid
93.0ms155×body512valid
36.0ms63×body256valid
21.0ms13×body2048valid
Compiler

Compiled 84 to 40 computations (52.4% saved)

preprocess36.0ms (0.3%)

Algorithm
egg-herbie
Rules
392×times-frac_binary64
391×associate-/l*_binary64
329×associate-/r*_binary64
280×unswap-sqr_binary64
224×associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092280
1223266
2443266
3736266
41769266
044
Stop Event
saturated
node limit
Compiler

Compiled 41 to 19 computations (53.7% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
892×unswap-sqr_binary64
451×associate-/l*_binary64
320×associate-/r*_binary64
273×associate-*l/_binary64
263×associate-*r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02040
13938
27638
312638
428638
5109638
6414138
Stop Event
node limit
Counts
1 → 2

prune6.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
6.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
29.5b
(*.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))) (sin.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 97 computations (52.9% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)
0.5b
(exp.f64 (atan2.f64 x.im x.re))
0.9b
(*.f64 y.re (atan2.f64 x.im x.re))
31.8b
(sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series498.0ms (4.2%)

Counts
4 → 68
Calls

36 calls:

78.0ms
(pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)
x.im
inf
67.0ms
(pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)
x.re
inf
67.0ms
(pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)
x.re
-inf
66.0ms
(pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)
x.im
-inf
63.0ms
(pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)
x.im
0

rewrite53.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
609×log-prod_binary64
252×prod-diff_binary64
232×expm1-udef_binary64
232×log1p-udef_binary64
219×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
125440
2301940
Stop Event
node limit
Counts
4 → 86

simplify71.0ms (0.6%)

Algorithm
egg-herbie
Rules
695×fma-def_binary64
376×associate-*r*_binary64
230×*-commutative_binary64
226×times-frac_binary64
214×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03103605
19973323
245073315
Stop Event
node limit
Counts
154 → 149

prune252.0ms (2.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New13514149
Fresh011
Picked101
Done000
Total13615151
Error
4.2b
Counts
151 → 15
Alt Table
StatusErrorProgram
26.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (cbrt.f64 (pow.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 3)))))
8.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
9.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (fma.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) (sin.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))
22.4b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (cbrt.f64 (pow.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) 3)))
31.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))))))
36.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
22.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sqrt.f64 (pow.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) 2)))
35.4b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (pow.f64 (sqrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 2))
43.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (fma.f64 (log.f64 x.im) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
9.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (*.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 2)))
44.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (sin.f64 1))))
29.5b
(*.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))) (sin.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))))
31.4b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))))
9.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))) (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)))))) (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) 1) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
Compiler

Compiled 8409 to 2886 computations (65.7% saved)

localize15.0ms (0.1%)

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))
2.4b
(*.f64 (atan2.f64 x.im x.re) y.im)
31.8b
(sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series239.0ms (2%)

Counts
2 → 64
Calls

21 calls:

43.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
y.re
0
38.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
y.im
-inf
36.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
y.im
inf
36.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
y.im
0
27.0ms
(fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))
y.re
-inf

rewrite42.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
531×log-prod_binary64
227×prod-diff_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
185×pow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
121423
2252523
Stop Event
node limit
Counts
2 → 47

simplify53.0ms (0.4%)

Algorithm
egg-herbie
Rules
378×fma-def_binary64
306×sub-neg_binary64
259×times-frac_binary64
215×distribute-rgt-neg-in_binary64
202×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011584
13251396
210061376
337841357
Stop Event
node limit
Counts
111 → 94

prune330.0ms (2.8%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1857192
Fresh6814
Picked101
Done000
Total19215207
Error
4.2b
Counts
207 → 15
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (expm1.f64 (log1p.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
36.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
31.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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sqrt.f64 (pow.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) 2)))
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))) (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3))
43.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 x.im)))))
42.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) 3) (pow.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 3)) (fma.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (-.f64 (pow.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2) (*.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) y.re)))))))
44.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (sin.f64 1))))
22.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 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) 3)))
29.5b
(*.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))) (sin.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))))
31.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))))))
33.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (pow.f64 (sqrt.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) 2)))
9.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))) (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)))))) (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) 1) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
26.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (cbrt.f64 (pow.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 3)))))
Compiler

Compiled 10207 to 3548 computations (65.2% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
0.9b
(*.f64 y.re (atan2.f64 x.im x.re))
2.4b
(*.f64 (atan2.f64 x.im x.re) y.im)
31.8b
(sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

series531.0ms (4.5%)

Counts
1 → 48
Calls

12 calls:

60.0ms
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
x.re
inf
59.0ms
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
x.im
inf
58.0ms
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
x.re
0
58.0ms
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
x.im
-inf
57.0ms
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
x.re
-inf

rewrite45.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
578×log-prod_binary64
252×prod-diff_binary64
227×expm1-udef_binary64
227×log1p-udef_binary64
203×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01418
128118
2300418
Stop Event
node limit
Counts
1 → 30

simplify70.0ms (0.6%)

Algorithm
egg-herbie
Rules
632×fma-def_binary64
367×associate-*r*_binary64
230×*-commutative_binary64
226×times-frac_binary64
214×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03073786
19883462
244533458
Stop Event
node limit
Counts
78 → 86

prune392.0ms (3.3%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New1994203
Fresh41014
Picked011
Done000
Total20315218
Error
4.2b
Counts
218 → 15
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (expm1.f64 (log1p.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
36.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
31.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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sqrt.f64 (pow.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) 2)))
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))) (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3))
43.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 x.im)))))
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))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))) (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im)))) 2))))
42.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) 3) (pow.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 3)) (fma.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (-.f64 (pow.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2) (*.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) y.re)))))))
45.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (sin.f64 1)))) 3))
9.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 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))) 2) 3) (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))))
33.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (pow.f64 (sqrt.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) 2)))
9.2b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)) 3))
29.5b
(*.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))) (sin.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))))
9.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))) (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)))))) (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) 1) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
Compiler

Compiled 13602 to 5076 computations (62.7% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)
0.9b
(*.f64 y.re (atan2.f64 x.im x.re))
2.4b
(*.f64 (atan2.f64 x.im x.re) y.im)
31.8b
(sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))

prune385.0ms (3.3%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New2021203
Fresh01313
Picked101
Done011
Total20315218
Error
4.2b
Counts
218 → 15
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (expm1.f64 (log1p.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))))))
36.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sin.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) y.im))))
31.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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cbrt.f64 (exp.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)) (sqrt.f64 (pow.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))) 2)))
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))) (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3))
43.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 x.im)))))
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))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))) (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im)))) 2))))
42.3b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) 3) (pow.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 3)) (fma.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (-.f64 (pow.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2) (*.f64 (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) y.re)))))))
45.0b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))) (sin.f64 1)))) 3))
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))) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re))))) 3)) 3)) 3))
9.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 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))) 2) 3) (cbrt.f64 (sin.f64 (fma.f64 y.re (atan2.f64 x.im x.re) (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.im))))))
33.7b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (pow.f64 (sqrt.f64 (fma.f64 (atan2.f64 x.im x.re) y.re (*.f64 y.im (log.f64 (hypot.f64 x.im x.re))))) 2)))
29.5b
(*.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))) (sin.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))))
9.8b
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))) (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 (atan2.f64 x.im x.re)) y.im)))))) (sin.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 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) 1) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
Compiler

Compiled 13612 to 5393 computations (60.4% saved)

regimes751.0ms (6.4%)

Accuracy

Total 1.9b remaining (30.5%)

Threshold costs 0b (0%)

Counts
107 → 2
Compiler

Compiled 18597 to 9920 computations (46.7% saved)

bsearch6.0ms (0%)

Algorithm
left-value
Calls

1 calls:

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))) (sin.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))))
Steps
ItersPointRange
6.455128268000368e-124
∈ [
6.455128268000368e-124
,
2.1018542731911693e-111
]
Compiler

Compiled 41 to 19 computations (53.7% saved)

simplify5.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
036159
151159
262159
368159
472159
573159
Stop Event
saturated

end338.0ms (2.9%)

Stop Event
fuel
Compiler

Compiled 849 to 367 computations (56.8% saved)

Profiling

Loading profile data...