Details

Time bar (total: 9.1s)

sample365.0ms

Algorithm
intervals
Results
50.0ms78×body1280valid
22.0ms259×body80valid
13.0ms34×body640valid
4.0ms15×body320valid
1.0msbody160valid

simplify39.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune28.0ms

Filtered
1 candidates to 1 candidates (100.0%)
Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 33.8b

localize25.0ms

Local error

Found 4 expressions with local error:

1.1b
(* (atan2 x.im x.re) y.re)
30.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
30.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
36.2b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite21.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-+
sin-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.re)
3.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
3.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
9.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series252.0ms

Counts
4 → 12
Calls
4 calls:
16.0ms
(* (atan2 x.im x.re) y.re)
38.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
163.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify73.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (13.0ms)

IterNodesCost
0194425
1496388
21117386
32398386
45002386

prune351.0ms

Filtered
68 candidates to 54 candidates (79.4%)
Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 18.9b

localize31.0ms

Local error

Found 4 expressions with local error:

30.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.0b
(cbrt (+ (* x.re x.re) (* x.im x.im)))
31.0b
(cbrt (+ (* x.re x.re) (* x.im x.im)))
36.2b
(sin (+ (* (log (* (fabs (cbrt (+ (* x.re x.re) (* x.im x.im)))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite22.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
add-cube-cbrt *-un-lft-identity
cbrt-prod
pow1
add-exp-log cbrt-div add-cbrt-cube add-log-exp
flip3-+ sqrt-prod flip-+
pow1/3 sqrt-div
rem-sqrt-square sqrt-pow1 pow1/2 sin-sum
Counts
4 → 49
Calls
4 calls:
3.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
2.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
2.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
13.0ms
(sin (+ (* (log (* (fabs (cbrt (+ (* x.re x.re) (* x.im x.im)))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

series484.0ms

Counts
4 → 12
Calls
4 calls:
34.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
92.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
93.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
266.0ms
(sin (+ (* (log (* (fabs (cbrt (+ (* x.re x.re) (* x.im x.im)))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

simplify65.0ms

Algorithm
egg-herbie
Counts
61 → 61
Iterations

Useful iterations: 3 (58.0ms)

IterNodesCost
0226599
1690543
22010539
35002538

prune450.0ms

Filtered
61 candidates to 56 candidates (91.8%)
Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 18.8b

localize47.0ms

Local error

Found 4 expressions with local error:

30.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.0b
(cbrt (+ (* x.re x.re) (* x.im x.im)))
33.2b
(pow (+ (pow x.re 2) (pow x.im 2)) 1/3)
36.0b
(sin (+ (* (log (* (fabs (* (cbrt 1) (pow (+ (pow x.re 2) (pow x.im 2)) 1/3))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite37.0ms

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity
add-sqr-sqrt
add-cube-cbrt
unpow-prod-down
pow1
add-exp-log
add-cbrt-cube add-log-exp
cbrt-prod pow-unpow sqrt-prod
cbrt-div flip3-+ sqrt-div flip-+ distribute-lft-out
pow-to-exp rem-sqrt-square pow-pow sqrt-pow1 pow1/2 unpow1/3 sin-sum pow1/3 pow-exp sqr-pow
Counts
4 → 56
Calls
4 calls:
3.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
2.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
17.0ms
(pow (+ (pow x.re 2) (pow x.im 2)) 1/3)
13.0ms
(sin (+ (* (log (* (fabs (* (cbrt 1) (pow (+ (pow x.re 2) (pow x.im 2)) 1/3))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

series486.0ms

Counts
4 → 12
Calls
4 calls:
37.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
92.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
92.0ms
(pow (+ (pow x.re 2) (pow x.im 2)) 1/3)
265.0ms
(sin (+ (* (log (* (fabs (* (cbrt 1) (pow (+ (pow x.re 2) (pow x.im 2)) 1/3))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

simplify112.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (24.0ms)

IterNodesCost
0286622
1957543
23526538
35001538

prune562.0ms

Filtered
68 candidates to 57 candidates (83.8%)
Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 18.7b

localize56.0ms

Local error

Found 4 expressions with local error:

30.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.0b
(cbrt (+ (* x.re x.re) (* x.im x.im)))
32.1b
(pow (+ (pow x.re 2) (pow x.im 2)) (* (cbrt 1/3) (cbrt 1/3)))
35.8b
(sin (+ (* (log (* (fabs (* (cbrt 1) (pow (pow (+ (pow x.re 2) (pow x.im 2)) (* (cbrt 1/3) (cbrt 1/3))) (cbrt 1/3)))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity
add-sqr-sqrt
add-cube-cbrt unpow-prod-down
pow1
add-exp-log
add-cbrt-cube add-log-exp
cbrt-prod sqrt-prod
cbrt-div flip3-+ sqrt-div flip-+ distribute-lft-out
pow-to-exp rem-sqrt-square pow-unpow pow-pow sqrt-pow1 pow1/2 sin-sum pow1/3 pow-exp sqr-pow
Counts
4 → 53
Calls
4 calls:
3.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
2.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
16.0ms
(pow (+ (pow x.re 2) (pow x.im 2)) (* (cbrt 1/3) (cbrt 1/3)))
13.0ms
(sin (+ (* (log (* (fabs (* (cbrt 1) (pow (pow (+ (pow x.re 2) (pow x.im 2)) (* (cbrt 1/3) (cbrt 1/3))) (cbrt 1/3)))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

series950.0ms

Counts
4 → 12
Calls
4 calls:
39.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
90.0ms
(cbrt (+ (* x.re x.re) (* x.im x.im)))
219.0ms
(pow (+ (pow x.re 2) (pow x.im 2)) (* (cbrt 1/3) (cbrt 1/3)))
602.0ms
(sin (+ (* (log (* (fabs (* (cbrt 1) (pow (pow (+ (pow x.re 2) (pow x.im 2)) (* (cbrt 1/3) (cbrt 1/3))) (cbrt 1/3)))) (sqrt (cbrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

simplify122.0ms

Algorithm
egg-herbie
Counts
65 → 65
Iterations

Useful iterations: 2 (25.0ms)

IterNodesCost
0329757
11103684
24084671
35002671

prune584.0ms

Filtered
65 candidates to 57 candidates (87.7%)
Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 18.7b

regimes457.0ms

Accuracy

77.7% (3.0b remaining)

Error of 22.8b against oracle of 19.7b and baseline of 33.4b

bsearch154.0ms

Steps
ItersRangePoint
10
-1.2633929192945347e-304
1.928209425921678e-301
1.4488852536328e-310

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04235
14235

end0.0ms

sample3.3s

Algorithm
intervals
Results
1.4s2211×body1280valid
663.0ms7893×body80valid
583.0ms1412×body640valid
155.0ms551×body320valid
108.0ms68×body2560valid
44.0ms241×body160valid