Details

Time bar (total: 13.7s)

analyze1.5s (11.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
49%50.8%0.2%13
50.1%49.7%0.2%14
Compiler

Compiled 38 to 20 computations (47.4% saved)

sample132.0ms (1%)

Algorithm
intervals
Results
49.0ms79×body1024invalid
32.0ms248×body128valid
13.0ms32×body512invalid
5.0msbody2048invalid
3.0ms11×body256invalid
2.0msbody512valid
2.0ms13×body128invalid
1.0msbody1024valid
1.0msbody256valid
Compiler

Compiled 75 to 43 computations (42.7% saved)

simplify159.0ms (1.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (59.0ms)

IterNodesCost
0494472
1494472

prune20.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
33.6b
Counts
2 → 2
Compiler

Compiled 109 to 57 computations (47.7% saved)

localize23.0ms (0.2%)

Local error

Found 8 expressions with local error:

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))) (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))))
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
(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)))
0.0b
(+.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.0b
(*.f64 (atan2.f64 x.im x.re) y.im)
30.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.7b
(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)))

rewrite30.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-prod_binary64
add-log-exp_binary64 sqrt-div_binary64
associate-*r*_binary64 associate-*l*_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 sin-sum_binary64 unswap-sqr_binary64 prod-exp_binary64 *-commutative_binary64
Counts
4 → 56
Calls

8 calls:

9.0ms
(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)))
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)))
4.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
0.0ms
(+.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))

series646.0ms (4.7%)

Counts
4 → 59
Calls

4 calls:

291.0ms
(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)))
143.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
137.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
75.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
Compiler

Compiled 3884 to 2571 computations (33.8% saved)

simplify74.0ms (0.5%)

Algorithm
egg-herbie
Counts
115 → 115
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
051592281

prune241.0ms (1.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1096115
Fresh011
Picked101
Done000
Total1107117
Error
21.6b
Counts
117 → 7
Compiler

Compiled 4952 to 1371 computations (72.3% saved)

localize20.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.2b
(*.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
(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)))
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))) (sin.f64 (*.f64 (atan2.f64 x.im x.re) y.re)))
0.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
1.0b
(*.f64 (atan2.f64 x.im x.re) y.im)
19.5b
(sin.f64 (*.f64 (atan2.f64 x.im x.re) y.re))
30.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
associate-*r*_binary64 associate-*l*_binary64
add-log-exp_binary64
sqrt-prod_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 sqrt-div_binary64 *-commutative_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
Counts
4 → 58
Calls

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)
1.0ms
(sin.f64 (*.f64 (atan2.f64 x.im x.re) y.re))
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 (atan2.f64 x.im x.re) y.re)))

series405.0ms (3%)

Counts
4 → 46
Calls

4 calls:

135.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
130.0ms
(sin.f64 (*.f64 (atan2.f64 x.im x.re) y.re))
71.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
69.0ms
(*.f64 (atan2.f64 x.im x.re) y.re)
Compiler

Compiled 2170 to 1526 computations (29.7% saved)

simplify51.0ms (0.4%)

Algorithm
egg-herbie
Counts
104 → 104
Iterations

Useful iterations: 0 (30.0ms)

IterNodesCost
050721484

prune127.0ms (0.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1022104
Fresh066
Picked011
Done000
Total1029111
Error
10.5b
Counts
111 → 9
Compiler

Compiled 3249 to 827 computations (74.5% saved)

localize33.0ms (0.2%)

Local error

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))) (sin.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
0.0b
(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)))
0.0b
(+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))
30.4b
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
30.4b
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
30.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.8b
(sin.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite64.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
15×*-un-lft-identity_binary64
13×sqrt-prod_binary64
10×add-sqr-sqrt_binary64
pow1_binary64 add-cube-cbrt_binary64
sqrt-div_binary64
add-log-exp_binary64 distribute-lft-out_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 unpow-prod-down_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
sin-sum_binary64
Counts
4 → 57
Calls

8 calls:

29.0ms
(sin.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
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)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
0.0ms
(+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))

series726.0ms (5.3%)

Counts
4 → 68
Calls

4 calls:

268.0ms
(sin.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
153.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
152.0ms
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
152.0ms
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
Compiler

Compiled 5060 to 3663 computations (27.6% saved)

simplify74.0ms (0.5%)

Algorithm
egg-herbie
Counts
125 → 125
Iterations

Useful iterations: 0 (45.0ms)

IterNodesCost
051322610

prune279.0ms (2%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1232125
Fresh077
Picked101
Done011
Total12410134
Error
10.5b
Counts
134 → 10
Compiler

Compiled 6587 to 3159 computations (52% saved)

localize27.0ms (0.2%)

Local error

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 (*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 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 (*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 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))))
0.0b
(exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 y.im))))
0.0b
(+.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.7b
(*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
30.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.7b
(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)))

rewrite33.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
11×pow1_binary64
10×add-sqr-sqrt_binary64
add-exp-log_binary64
*-un-lft-identity_binary64 add-cube-cbrt_binary64 add-cbrt-cube_binary64
sqrt-prod_binary64
add-log-exp_binary64 sqrt-div_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 associate-*l*_binary64 prod-exp_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
associate-*r*_binary64 sin-sum_binary64 unswap-sqr_binary64 *-commutative_binary64
Counts
4 → 57
Calls

8 calls:

8.0ms
(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)))
8.0ms
(*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
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)))
0.0ms
(+.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))

series871.0ms (6.4%)

Counts
4 → 59
Calls

4 calls:

307.0ms
(*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
270.0ms
(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)))
148.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
146.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 4538 to 2911 computations (35.9% saved)

simplify93.0ms (0.7%)

Algorithm
egg-herbie
Counts
116 → 116
Iterations

Useful iterations: 0 (65.0ms)

IterNodesCost
050042424

prune166.0ms (1.2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1151116
Fresh088
Picked011
Done011
Total11511126
Error
10.5b
Counts
126 → 11
Compiler

Compiled 5479 to 1331 computations (75.7% saved)

simplify31.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (4.0ms)

IterNodesCost
03391954
13391954

regimes571.0ms (4.2%)

Accuracy

Total 9.5b remaining (48%)

Threshold costs 0b (0%)

Compiler

Compiled 4004 to 2792 computations (30.3% saved)

bsearch399.0ms (2.9%)

Steps
ItersRangePoint
7
2971005507652.2954
279826582916779.44
4168286414130.5063
11
9.46617108886085e-154
3.668060821333103e-124
1.3031182895715489e-142
5
-4.739449442068796e-281
-2.3234083020087635e-281
-3.627285044465458e-281
8
-3.2698690128371383e-85
-3.0491476672475524e-88
-5.119916187162846e-88
8
-1.09799910936195e+105
-6.480735741981165e+101
-8.216772974650418e+102
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0143375
1143375

end0.0ms (0%)

sample6.8s (49.8%)

Algorithm
intervals
Results
1.4s2484×body1024invalid
962.0ms7587×body128valid
377.0ms951×body512invalid
174.0ms184×body2048invalid
89.0ms161×body1024valid
87.0ms348×body256invalid
70.0ms501×body128invalid
56.0ms146×body512valid
23.0ms90×body256valid
14.0ms16×body2048valid
Compiler

Compiled 3427 to 2290 computations (33.2% saved)

Pareto

0.12204399988770562

Profiling

Loading profile data...