Details

Time bar (total: 7.2s)

analyze2.1s (29.3%)

Algorithm
search
egg-herbie
Rules
1153×div-sub_binary64
836×distribute-rgt-in_binary64
808×distribute-lft-in_binary64
623×cancel-sign-sub-inv_binary64
538×distribute-rgt-neg-in_binary64
499×sub-neg_binary64
414×associate-/r/_binary64
394×neg-mul-1_binary64
354×times-frac_binary64
346×associate-/l/_binary64
344×distribute-lft-neg-in_binary64
329×neg-sub0_binary64
290×*-commutative_binary64
262×distribute-lft-neg-out_binary64
232×unsub-neg_binary64
217×distribute-rgt-neg-out_binary64
201×associate-/l*_binary64
164×associate-*r*_binary64
157×associate-/r*_binary64
154×distribute-neg-frac_binary64
151×distribute-frac-neg_binary64
140×remove-double-neg_binary64
133×associate--r+_binary64
113×+-commutative_binary64
100×+-lft-identity_binary64
96×associate-*l*_binary64
91×mul0-rgt_binary64
88×mul0-lft_binary64
81×*-lft-identity_binary64
69×div0_binary64
60×distribute-neg-in_binary64
57×associate-+l-_binary64
54×*-rgt-identity_binary64
53×sub0-neg_binary64
50×cancel-sign-sub_binary64
45×/-rgt-identity_binary64
40×fabs-sub_binary64
37×--rgt-identity_binary64 remove-double-div_binary64
20×associate--l-_binary64
16×mul-1-neg_binary64
15×associate--r-_binary64
fabs-mul_binary64 +-rgt-identity_binary64 associate--l+_binary64 associate-+r-_binary64 associate-+l+_binary64
tan-neg_binary64 sin-neg_binary64
fabs-neg_binary64 associate-+r+_binary64
cos-neg_binary64
1-exp_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 log-prod_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-sqr_binary64 fabs-fabs_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate-*l/_binary64 associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060200
1148200
2379200
3789200
41095200
51482200
62012200
72852200
83343200
93245200
103170200
113176200
123182200
133519200
143921200
153929200
163967200
174031200
184061200
194069200
204069200
215245200
033
133
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
12.5%87.4%0.1%8
31.2%68.6%0.1%9
31.2%68.6%0.1%10
31.2%68.6%0.1%11
40.6%59.3%0.1%12
40.6%59.3%0.1%13
40.6%59.3%0.1%14
Compiler

Compiled 31 to 19 computations (38.7% saved)

sample108.0ms (1.5%)

Algorithm
intervals
Results
44.0ms53×body1024valid
26.0ms156×body128valid
17.0ms30×body512valid
6.0ms16×body256valid
1.0msbody2048valid
Compiler

Compiled 61 to 40 computations (34.4% saved)

simplify253.0ms (3.5%)

Algorithm
egg-herbie
Rules
889×div-sub_binary64
757×associate-/r/_binary64
558×associate-/l*_binary64
532×associate-/l/_binary64
421×times-frac_binary64
406×sub-neg_binary64
378×associate-/r*_binary64
317×unsub-neg_binary64
309×distribute-rgt-in_binary64
304×distribute-neg-frac_binary64
300×distribute-lft-in_binary64
184×cancel-sign-sub-inv_binary64
182×distribute-rgt-neg-in_binary64
163×*-commutative_binary64
151×distribute-lft-neg-in_binary64
118×neg-mul-1_binary64
106×neg-sub0_binary64
92×associate-*l/_binary64
81×associate--r+_binary64
76×mul0-rgt_binary64 +-commutative_binary64
70×distribute-frac-neg_binary64
69×mul0-lft_binary64
62×div0_binary64
59×associate-*l*_binary64
58×associate-*r*_binary64
47×distribute-rgt-neg-out_binary64
46×distribute-lft-neg-out_binary64
38×remove-double-div_binary64
33×/-rgt-identity_binary64
26×+-lft-identity_binary64
18×distribute-neg-in_binary64
15×associate-+l-_binary64
12×remove-double-neg_binary64 sub0-neg_binary64
11×associate-*r/_binary64
10×fabs-sub_binary64 *-lft-identity_binary64
--rgt-identity_binary64
*-rgt-identity_binary64
mul-1-neg_binary64
associate--r-_binary64 associate--l+_binary64
fabs-mul_binary64 +-rgt-identity_binary64 cancel-sign-sub_binary64 associate-+r-_binary64
1-exp_binary64 associate--l-_binary64 associate-+l+_binary64 associate-+r+_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 log-prod_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-fabs_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01950
14350
210350
321050
428250
540750
653250
773050
893950
9116250
10107650
11107850
12111050
13109450
14109450
15152650
16198250
17195050
18200650
19217450
20227050
21231850
22235850
23232650
24232650
25181450
26211050
27182250
28182250
29182250
30160750

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.1b
Counts
1 → 1
Compiler

Compiled 30 to 18 computations (40% saved)

localize28.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (neg.f64 eh) (tan.f64 t))
2.3b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.3b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
19.7b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

rewrite105.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
16×add-exp-log_binary64 add-cbrt-cube_binary64
14×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64 *-un-lft-identity_binary64
10×associate-*l*_binary64
pow1_binary64 times-frac_binary64 associate-/r*_binary64
distribute-lft-neg-out_binary64 add-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64
distribute-frac-neg_binary64 prod-exp_binary64 cbrt-unprod_binary64 tan-quot_binary64 associate-*r/_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 associate-*r*_binary64
frac-2neg_binary64 clear-num_binary64 div-inv_binary64 associate-/l/_binary64 associate-/l*_binary64
cos-atan_binary64 atan-neg_binary64 cos-neg_binary64 pow-prod-down_binary64 unswap-sqr_binary64 neg-mul-1_binary64 *-commutative_binary64
Counts
4 → 82
Calls

4 calls:

6.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Compiler

Compiled 2832 to 568 computations (79.9% saved)

series229.0ms (3.2%)

Error
0.1b
Counts
4 → 33
Calls

4 calls:

69.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
69.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
45.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
38.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
Compiler

Compiled 2414 to 1652 computations (31.6% saved)

simplify113.0ms (1.6%)

Algorithm
egg-herbie
Rules
734×times-frac_binary64
443×div-sub_binary64
416×associate-*l*_binary64
334×associate-*r*_binary64
306×associate-*l/_binary64
256×associate-/r*_binary64
239×associate-/l/_binary64
190×associate-*r/_binary64
160×associate-/r/_binary64
143×neg-mul-1_binary64
141×distribute-frac-neg_binary64
126×log-div_binary64
118×distribute-lft-neg-out_binary64
116×distribute-rgt-neg-out_binary64
106×log-prod_binary64
90×cube-div_binary64
89×cube-prod_binary64
84×associate-/l*_binary64
83×exp-prod_binary64
61×neg-sub0_binary64
47×*-commutative_binary64
39×distribute-rgt-neg-in_binary64
37×sub-neg_binary64
31×distribute-rgt-in_binary64 distribute-lft-in_binary64
27×distribute-lft-neg-in_binary64
24×distribute-neg-frac_binary64
15×log-rec_binary64 *-rgt-identity_binary64 cancel-sign-sub-inv_binary64
13×unpow3_binary64
12×exp-diff_binary64 sqr-pow_binary64
11×/-rgt-identity_binary64
10×swap-sqr_binary64
exp-sum_binary64 cube-mult_binary64 *-lft-identity_binary64
cube-unmult_binary64
div0_binary64
sqr-neg_binary64 mul-1-neg_binary64
+-commutative_binary64
exp-neg_binary64 cube-neg_binary64 remove-double-neg_binary64
associate--l+_binary64
unpow1/2_binary64 1-exp_binary64 exp-1-e_binary64 unsub-neg_binary64 pow-sqr_binary64 associate-+l+_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_binary64 sqr-abs_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+r+_binary64
Counts
115 → 90
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01051709
12481490
28661490
338641490
449851490
549731490

prune55.0ms (0.8%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New90090
Fresh000
Picked011
Done000
Total90191
Error
0.1b
Counts
91 → 1
Compiler

Compiled 1827 to 384 computations (79% saved)

regimes128.0ms (1.8%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Compiler

Compiled 1053 to 803 computations (23.7% saved)

bsearch0.0ms (0%)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary64
15×sub-neg_binary64 +-commutative_binary64
13×neg-mul-1_binary64 neg-sub0_binary64
distribute-rgt-neg-in_binary64
distribute-lft-neg-in_binary64
cancel-sign-sub-inv_binary64 distribute-lft-neg-out_binary64
fabs-sub_binary64 distribute-frac-neg_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 e-exp-1_binary64 1-exp_binary64 exp-1-e_binary64 exp-0_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-fabs_binary64 sqr-abs_binary64 sqr-neg_binary64 unsub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02248
14048
26948
39748
411848
512948
613148
713148

end1.0ms (0%)

Compiler

Compiled 29 to 21 computations (27.6% saved)

sample4.1s (56.5%)

Algorithm
intervals
Results
2.0s1973×body1024valid
791.0ms4548×body128valid
574.0ms992×body512valid
184.0ms479×body256valid
11.0msbody2048valid
Compiler

Compiled 93 to 73 computations (21.5% saved)

Profiling

Loading profile data...