Details

Time bar (total: 15.0s)

sample406.0ms

Algorithm
intervals
Results
226.0ms91×body10240exit
110.0ms59×body1280valid
37.0ms57×body640valid
9.0ms29×body320valid
9.0ms92×body80valid
4.0ms19×body160valid

simplify2.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
087

prune3.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 33.1b

localize12.0ms

Local error

Found 3 expressions with local error:

0.0b
(atan2 (expm1 (sin (expm1 a))) (atan a))
0.0b
(expm1 (sin (expm1 a)))
38.0b
(fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)

rewrite2.0ms

Algorithm
rewrite-expression-head
Rules
pow1 add-exp-log add-sqr-sqrt add-cube-cbrt *-un-lft-identity add-cbrt-cube add-log-exp
Counts
3 → 21
Calls
3 calls:
1.0ms
(atan2 (expm1 (sin (expm1 a))) (atan a))
1.0ms
(expm1 (sin (expm1 a)))
1.0ms
(fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)

series5.0ms

Counts
3 → 9
Calls
3 calls:
2.0ms
(atan2 (expm1 (sin (expm1 a))) (atan a))
1.0ms
(expm1 (sin (expm1 a)))
2.0ms
(fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)

simplify109.0ms

Algorithm
egg-herbie
Counts
30 → 30
Iterations

Useful iterations: 1 (2.0ms)

IterNodesCost
031212
135181
243181
354181
491181
5185181
6781181
72680181
85001181

prune135.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 31.9b

localize16.0ms

Local error

Found 4 expressions with local error:

0.0b
(expm1 (sin (expm1 a)))
0.3b
(log (exp (atan2 (expm1 (sin (expm1 a))) (atan a))))
0.4b
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
38.0b
(fmod (log (exp (atan2 (expm1 (sin (expm1 a))) (atan a)))) a)

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt add-cube-cbrt *-un-lft-identity
exp-prod
pow1 add-log-exp
add-exp-log log-pow add-cbrt-cube
log-prod
rem-log-exp rem-exp-log
Counts
4 → 40
Calls
4 calls:
1.0ms
(expm1 (sin (expm1 a)))
2.0ms
(log (exp (atan2 (expm1 (sin (expm1 a))) (atan a))))
2.0ms
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
1.0ms
(fmod (log (exp (atan2 (expm1 (sin (expm1 a))) (atan a)))) a)

series35.0ms

Counts
4 → 12
Calls
4 calls:
1.0ms
(expm1 (sin (expm1 a)))
2.0ms
(log (exp (atan2 (expm1 (sin (expm1 a))) (atan a))))
29.0ms
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
2.0ms
(fmod (log (exp (atan2 (expm1 (sin (expm1 a))) (atan a)))) a)

simplify98.0ms

Algorithm
egg-herbie
Counts
52 → 52
Iterations

Useful iterations: 7 (94.0ms)

IterNodesCost
063414
192353
2121353
3180353
4339353
5863353
63913353
75001349

prune220.0ms

Pruning

16 alts after pruning (16 fresh and 0 done)

Merged error: 31.6b

localize21.0ms

Local error

Found 4 expressions with local error:

0.4b
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
0.4b
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
0.7b
(* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))
38.0b
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt
18×unpow-prod-down
14×add-cube-cbrt *-un-lft-identity
10×add-exp-log sqr-pow
prod-exp unswap-sqr
swap-sqr associate-*r* associate-*l*
pow-to-exp exp-prod pow-exp add-cbrt-cube add-log-exp
pow1 unpow1/2
rem-exp-log
pow2 sqrt-unprod pow-prod-down rem-square-sqrt pow-sqr *-commutative pow-prod-up cbrt-unprod
Counts
4 → 83
Calls
4 calls:
2.0ms
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
2.0ms
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
8.0ms
(* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))
1.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)

series90.0ms

Counts
4 → 12
Calls
4 calls:
27.0ms
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
31.0ms
(exp (atan2 (expm1 (sin (expm1 a))) (atan a)))
28.0ms
(* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))
3.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)

simplify224.0ms

Algorithm
egg-herbie
Counts
95 → 95
Iterations

Useful iterations: 2 (24.0ms)

IterNodesCost
01611188
1553947
24758884
35001884

prune348.0ms

Pruning

20 alts after pruning (19 fresh and 1 done)

Merged error: 31.6b

localize27.0ms

Local error

Found 4 expressions with local error:

0.7b
(* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))
38.0b
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)
38.0b
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)
38.0b
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt
18×unpow-prod-down
12×add-cube-cbrt *-un-lft-identity
10×add-exp-log sqr-pow
prod-exp unswap-sqr
swap-sqr associate-*r* associate-*l*
pow-to-exp pow-exp add-cbrt-cube
pow1 unpow1/2 add-log-exp
pow2 sqrt-unprod pow-prod-down rem-square-sqrt pow-sqr *-commutative pow-prod-up cbrt-unprod
Counts
4 → 75
Calls
4 calls:
8.0ms
(* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))
1.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)
1.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)
3.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)

series38.0ms

Counts
4 → 12
Calls
4 calls:
28.0ms
(* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))
3.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)
3.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)
3.0ms
(fmod (log (* (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2) (pow (exp (atan2 (expm1 (sin (expm1 a))) (atan a))) 1/2))) a)

simplify223.0ms

Algorithm
egg-herbie
Counts
87 → 87
Iterations

Useful iterations: 2 (24.0ms)

IterNodesCost
01491372
15251094
246851015
350011015

prune336.0ms

Pruning

26 alts after pruning (25 fresh and 1 done)

Merged error: 31.4b

regimes376.0ms

Accuracy

0% (1.7b remaining)

Error of 33.5b against oracle of 31.9b and baseline of 33.5b

bsearch0.0ms

simplify1.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01318

end0.0ms

sample12.2s

Algorithm
intervals
Results
6.4s2570×body10240exit
3.9s2295×body1280valid
1.1s1656×body640valid
268.0ms2802×body80valid
266.0ms823×body320valid
84.0ms418×body160valid
21.0msbody5120valid
4.0msbody2560valid