Details

Time bar (total: 7.7s)

analyze1.5s

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.8%0.3%13
50%49.7%0.4%14

sample130.0ms

Algorithm
intervals
Results
39.0ms54×body1280invalid
28.0ms241×body80valid
23.0ms46×body640invalid
8.0msbody1280valid
4.0ms10×body320invalid
2.0msbody640valid
2.0msbody160invalid
1.0msbody80invalid
1.0msbody320valid
0.0msbody160valid

simplify467.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
0493436
1493436

prune24.0ms

Filtered
1 candidates to 1 candidates (0.0%)
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 34.0b

Counts
2 → 1

localize24.0ms

Local error

Found 4 expressions with local error:

1.6b
(* (atan2 x.im x.re) y.im)
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.0b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite22.0ms

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity
add-exp-log sqrt-prod add-cbrt-cube
sqrt-div add-log-exp
associate-*r* associate-*l*
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cos-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 56
Calls
4 calls:
3.0ms
(* (atan2 x.im x.re) y.im)
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
8.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series89.0ms

Counts
4 → 12
Calls
4 calls:
6.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
70.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify42.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (36.0ms)

IterNodesCost
05029677

prune128.0ms

Filtered
56 candidates to 68 candidates (-21.4%)
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New63568
Fresh000
Picked101
Done000
Total64569

Merged error: 18.6b

Counts
69 → 5

localize16.0ms

Local error

Found 4 expressions with local error:

0.0b
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
0.3b
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
1.6b
(* (atan2 x.im x.re) y.im)
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite19.0ms

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt
11×pow1
10×add-cube-cbrt *-un-lft-identity
associate-*l*
add-exp-log add-cbrt-cube
add-log-exp
associate-*r*
exp-prod sqrt-prod log-pow
sqrt-pow1 pow1/2 sqrt-div pow-prod-down prod-exp *-commutative cbrt-unprod rem-exp-log unswap-sqr
sub-neg rem-sqrt-square flip3-+ exp-diff diff-log exp-sum flip-+
Counts
4 → 68
Calls
4 calls:
5.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
5.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
3.0ms
(* (atan2 x.im x.re) y.im)
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series77.0ms

Counts
4 → 12
Calls
4 calls:
39.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
23.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
8.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify38.0ms

Algorithm
egg-herbie
Counts
80 → 80
Iterations

Useful iterations: 0 (31.0ms)

IterNodesCost
04925844
14925844

prune134.0ms

Filtered
61 candidates to 80 candidates (-31.1%)
Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New75580
Fresh134
Picked101
Done000
Total77885

Merged error: 4.2b

Counts
85 → 8

localize14.0ms

Local error

Found 4 expressions with local error:

0.0b
(- (* (log (neg x.re)) y.re) (* (atan2 x.im x.re) y.im))
0.0b
(exp (- (* (log (neg x.re)) y.re) (* (atan2 x.im x.re) y.im)))
0.2b
(* (log (neg x.re)) y.re)
1.6b
(* (atan2 x.im x.re) y.im)

rewrite17.0ms

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity add-log-exp
add-exp-log add-cbrt-cube
associate-*l*
associate-*r*
exp-prod
sub-neg diff-log pow-prod-down prod-exp *-commutative cbrt-unprod rem-exp-log unswap-sqr
flip3-- exp-diff exp-sum log-pow flip--
Counts
4 → 62
Calls
4 calls:
4.0ms
(- (* (log (neg x.re)) y.re) (* (atan2 x.im x.re) y.im))
4.0ms
(exp (- (* (log (neg x.re)) y.re) (* (atan2 x.im x.re) y.im)))
4.0ms
(* (log (neg x.re)) y.re)
3.0ms
(* (atan2 x.im x.re) y.im)

series64.0ms

Counts
4 → 12
Calls
4 calls:
24.0ms
(- (* (log (neg x.re)) y.re) (* (atan2 x.im x.re) y.im))
23.0ms
(exp (- (* (log (neg x.re)) y.re) (* (atan2 x.im x.re) y.im)))
11.0ms
(* (log (neg x.re)) y.re)
6.0ms
(* (atan2 x.im x.re) y.im)

simplify59.0ms

Algorithm
egg-herbie
Counts
74 → 74
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
04979693
14979693

prune108.0ms

Filtered
52 candidates to 74 candidates (-42.3%)
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New73174
Fresh167
Picked011
Done000
Total74882

Merged error: 4.2b

Counts
82 → 8

localize30.0ms

Local error

Found 4 expressions with local error:

1.6b
(* (atan2 x.im x.re) (* (cbrt y.im) (cbrt y.im)))
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.0b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite22.0ms

Algorithm
rewrite-expression-head
Rules
11×pow1
10×add-sqr-sqrt
add-exp-log
add-cube-cbrt *-un-lft-identity add-cbrt-cube
sqrt-prod
sqrt-div add-log-exp
associate-*l* pow-prod-down prod-exp cbrt-unprod
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cos-sum associate-*r* *-commutative unswap-sqr
Counts
4 → 57
Calls
4 calls:
7.0ms
(* (atan2 x.im x.re) (* (cbrt y.im) (cbrt y.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series92.0ms

Counts
4 → 12
Calls
4 calls:
25.0ms
(* (atan2 x.im x.re) (* (cbrt y.im) (cbrt y.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
53.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify97.0ms

Algorithm
egg-herbie
Counts
69 → 69
Iterations

Useful iterations: 0 (91.0ms)

IterNodesCost
05349723

prune93.0ms

Filtered
56 candidates to 69 candidates (-23.2%)
Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New68169
Fresh156
Picked011
Done011
Total69877

Merged error: 4.2b

Counts
77 → 8

regimes485.0ms

Accuracy

82.6% (5.6b remaining)

Error of 9.3b against oracle of 3.6b and baseline of 36.1b

bsearch94.0ms

Steps
ItersRangePoint
10
-6.928164999109624e-293
2.440688741743257e-305
2.25401773596525e-310

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
05927
15927

end0.0ms

sample3.8s

Algorithm
intervals
Results
1.4s1933×body1280invalid
844.0ms7540×body80valid
645.0ms1308×body640invalid
181.0ms516×body320invalid
102.0ms140×body1280valid
83.0ms156×body640valid
63.0ms251×body160invalid
47.0ms404×body80invalid
35.0ms102×body320valid
14.0ms62×body160valid

Profiling

Loading profile data...