Details

Time bar (total: 9.0s)

analyze791.0ms (8.8%)

Algorithm
search
egg-herbie
Rules
924×unswap-sqr_binary64
430×associate-/l*_binary64
362×exp-prod_binary64
296×*-commutative_binary64
278×sqr-pow_binary64
264×associate-/r*_binary64
222×associate-/l/_binary64
209×associate-/r/_binary64
201×pow-sqr_binary64
198×prod-exp_binary64
179×associate-*l*_binary64
172×rec-exp_binary64
168×distribute-neg-frac_binary64
165×distribute-rgt-in_binary64
160×swap-sqr_binary64 distribute-rgt-neg-in_binary64
152×div-sub_binary64
126×associate-*r*_binary64
103×rem-sqrt-square_binary64
92×div-exp_binary64
89×distribute-lft-neg-in_binary64
81×cube-prod_binary64 distribute-rgt-out_binary64
80×pow-plus_binary64
72×associate-*l/_binary64
69×associate-*r/_binary64
62×unpow3_binary64
61×cancel-sign-sub-inv_binary64
44×exp-diff_binary64
43×*-lft-identity_binary64
41×neg-mul-1_binary64
39×exp-sum_binary64 sub-neg_binary64
37×distribute-lft-neg-out_binary64
35×neg-sub0_binary64
34×distribute-neg-in_binary64
33×distribute-rgt-neg-out_binary64
29×exp-sqrt_binary64
26×cube-mult_binary64 distribute-lft-in_binary64
24×/-rgt-identity_binary64
23×distribute-rgt-out--_binary64
17×exp-lft-sqr_binary64 distribute-frac-neg_binary64
15×associate-+l-_binary64
14×cube-unmult_binary64
13×unpow1_binary64
12×remove-double-neg_binary64
11×unpow2_binary64 unpow1/2_binary64 associate--r+_binary64
10×cube-div_binary64 unsub-neg_binary64 *-rgt-identity_binary64 distribute-neg-out_binary64 distribute-lft-out_binary64
+-rgt-identity_binary64
times-frac_binary64 +-commutative_binary64
distribute-rgt1-in_binary64
unpow-1_binary64 exp-lft-cube_binary64 remove-double-div_binary64 distribute-lft1-in_binary64
cos-neg_binary64 exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 distribute-lft-out--_binary64 associate--l-_binary64 associate-+r-_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 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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 exp-cbrt_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 mul-1-neg_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 count-2_binary64 associate--r-_binary64 associate--l+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11617
22515
33615
45715
510115
620215
743115
869415
9197315
10287615
11331415
12375515
13446615
14488415
15478515
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
50%50%0%5
50%50%0%6
50%50%0%7
50%50%0%8
50%50%0%9
50%50%0%10
50%50%0%11
50%50%0%12
50%50%0%13
50%49.9%0.1%14
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample214.0ms (2.4%)

Algorithm
intervals
Results
101.0ms57×body8192exit
51.0ms135×body1024valid
12.0ms47×body1024nan
12.0ms51×body512valid
7.0ms38×body512nan
5.0ms34×body256valid
4.0msbody2048valid
2.0ms30×body128valid
1.0ms12×body256nan
1.0ms16×body128nan
Compiler

Compiled 21 to 18 computations (14.3% saved)

simplify116.0ms (1.3%)

Algorithm
egg-herbie
Rules
924×unswap-sqr_binary64
430×associate-/l*_binary64
362×exp-prod_binary64
296×*-commutative_binary64
278×sqr-pow_binary64
264×associate-/r*_binary64
222×associate-/l/_binary64
209×associate-/r/_binary64
201×pow-sqr_binary64
198×prod-exp_binary64
179×associate-*l*_binary64
172×rec-exp_binary64
168×distribute-neg-frac_binary64
165×distribute-rgt-in_binary64
160×swap-sqr_binary64 distribute-rgt-neg-in_binary64
152×div-sub_binary64
126×associate-*r*_binary64
103×rem-sqrt-square_binary64
92×div-exp_binary64
89×distribute-lft-neg-in_binary64
81×cube-prod_binary64 distribute-rgt-out_binary64
80×pow-plus_binary64
72×associate-*l/_binary64
69×associate-*r/_binary64
62×unpow3_binary64
61×cancel-sign-sub-inv_binary64
44×exp-diff_binary64
43×*-lft-identity_binary64
41×neg-mul-1_binary64
39×exp-sum_binary64 sub-neg_binary64
37×distribute-lft-neg-out_binary64
35×neg-sub0_binary64
34×distribute-neg-in_binary64
33×distribute-rgt-neg-out_binary64
29×exp-sqrt_binary64
26×cube-mult_binary64 distribute-lft-in_binary64
24×/-rgt-identity_binary64
23×distribute-rgt-out--_binary64
17×exp-lft-sqr_binary64 distribute-frac-neg_binary64
15×associate-+l-_binary64
14×cube-unmult_binary64
13×unpow1_binary64
12×remove-double-neg_binary64
11×unpow2_binary64 unpow1/2_binary64 associate--r+_binary64
10×cube-div_binary64 unsub-neg_binary64 *-rgt-identity_binary64 distribute-neg-out_binary64 distribute-lft-out_binary64
+-rgt-identity_binary64
times-frac_binary64 +-commutative_binary64
distribute-rgt1-in_binary64
unpow-1_binary64 exp-lft-cube_binary64 remove-double-div_binary64 distribute-lft1-in_binary64
cos-neg_binary64 exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 distribute-lft-out--_binary64 associate--l-_binary64 associate-+r-_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 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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 exp-cbrt_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 mul-1-neg_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 count-2_binary64 associate--r-_binary64 associate--l+_binary64
Counts
1 → 1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0917
11617
22515
33615
45715
510115
620215
743115
869415
9197315
10287615
11331415
12375515
13446615
14488415
15478515

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
60.1b
Counts
2 → 1
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(sqrt.f64 (cos.f64 x))
0.2b
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
5.1b
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))

rewrite50.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
60.0b
Rules
13×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64 *-un-lft-identity_binary64
times-frac_binary64
add-cbrt-cube_binary64
pow1_binary64 add-exp-log_binary64
add-log-exp_binary64 associate-/l*_binary64 associate-/r*_binary64 sqrt-prod_binary64
div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64
Counts
3 → 47
Calls

3 calls:

4.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
1.0ms
(sqrt.f64 (cos.f64 x))
1.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 772 to 159 computations (79.4% saved)

series34.0ms (0.4%)

Error
60.1b
Counts
3 → 13
Calls

3 calls:

12.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
7.0ms
(sqrt.f64 (cos.f64 x))
5.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 374 to 197 computations (47.3% saved)

simplify101.0ms (1.1%)

Algorithm
egg-herbie
Rules
603×div-sub_binary64
527×distribute-rgt-neg-in_binary64
434×distribute-lft-neg-in_binary64
337×cancel-sign-sub-inv_binary64
330×associate-*l*_binary64
302×associate-*r*_binary64
283×associate-/l*_binary64
272×distribute-rgt-out--_binary64
183×associate-/l/_binary64
178×distribute-neg-frac_binary64
169×sub-neg_binary64
114×associate-/r*_binary64
106×*-commutative_binary64
89×associate-*l/_binary64
86×distribute-neg-in_binary64
81×associate-/r/_binary64
74×unswap-sqr_binary64
73×distribute-lft-neg-out_binary64
71×neg-mul-1_binary64
66×neg-sub0_binary64
64×exp-prod_binary64
63×associate-*r/_binary64
61×times-frac_binary64
49×associate-+l-_binary64
46×unsub-neg_binary64 distribute-rgt-neg-out_binary64
42×distribute-rgt-out_binary64
40×sqr-pow_binary64
33×+-commutative_binary64
32×associate--l+_binary64 associate-+l+_binary64
30×cube-prod_binary64
26×distribute-lft-out_binary64
25×distribute-lft-out--_binary64
24×*-lft-identity_binary64 sub0-neg_binary64
20×associate-+r-_binary64
19×exp-sum_binary64 distribute-rgt-in_binary64
18×associate-+r+_binary64
16×distribute-lft-in_binary64
14×*-rgt-identity_binary64 +-rgt-identity_binary64 associate--l-_binary64 associate--r+_binary64
13×distribute-rgt1-in_binary64
12×pow-plus_binary64 exp-diff_binary64 cube-unmult_binary64 /-rgt-identity_binary64
11×log-prod_binary64 remove-double-neg_binary64
mul0-rgt_binary64 mul0-lft_binary64
cancel-sign-sub_binary64
log-pow_binary64 unpow3_binary64
log-div_binary64 pow-sqr_binary64 distribute-lft1-in_binary64
exp-to-pow_binary64 rem-sqrt-square_binary64 --rgt-identity_binary64
cube-div_binary64 associate--r-_binary64
prod-exp_binary64 rem-log-exp_binary64 cube-neg_binary64 sqr-neg_binary64 swap-sqr_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 count-2_binary64
cube-mult_binary64 div0_binary64 difference-of-sqr-1_binary64
cos-neg_binary64 log-rec_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 exp-lft-sqr_binary64 rec-exp_binary64 exp-neg_binary64 1-exp_binary64 rem-exp-log_binary64 rem-square-sqrt_binary64 mul-1-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 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 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 pow-base-0_binary64 unpow1/3_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 +-lft-identity_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-squares_binary64
Counts
60 → 17
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0851153
11691031
23631016
38591005
427931002
544831002
652461002

prune21.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New14317
Fresh000
Picked101
Done000
Total15318
Error
60.1b
Counts
18 → 3
Compiler

Compiled 263 to 98 computations (62.7% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(cbrt.f64 (pow.f64 (/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x)) 3))
0.0b
(sqrt.f64 (cos.f64 x))
0.2b
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
5.1b
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))

rewrite96.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
60.0b
Rules
32×cbrt-prod_binary64
29×add-sqr-sqrt_binary64
28×add-cube-cbrt_binary64 *-un-lft-identity_binary64
27×times-frac_binary64
13×unpow-prod-down_binary64 cube-prod_binary64
add-cbrt-cube_binary64
pow1_binary64 add-exp-log_binary64
add-log-exp_binary64
div-inv_binary64 associate-/l*_binary64 associate-/r*_binary64 sqrt-prod_binary64
div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 pow1/3_binary64 cube-div_binary64 cbrt-div_binary64 unpow3_binary64 cube-mult_binary64 sqr-pow_binary64 rem-cbrt-cube_binary64
Counts
4 → 89
Calls

4 calls:

5.0ms
(cbrt.f64 (pow.f64 (/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x)) 3))
4.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
1.0ms
(sqrt.f64 (cos.f64 x))
1.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 1646 to 507 computations (69.2% saved)

series54.0ms (0.6%)

Error
60.1b
Counts
4 → 19
Calls

4 calls:

13.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
12.0ms
(cbrt.f64 (pow.f64 (/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x)) 3))
8.0ms
(sqrt.f64 (cos.f64 x))
6.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 683 to 369 computations (46% saved)

simplify138.0ms (1.5%)

Algorithm
egg-herbie
Rules
730×times-frac_binary64
506×associate-/l*_binary64
460×associate-*l/_binary64
380×associate-*r/_binary64
285×associate-/r*_binary64
210×associate-/l/_binary64
148×sqr-pow_binary64
144×log-div_binary64
113×unswap-sqr_binary64
111×associate-/r/_binary64
101×cube-div_binary64
66×swap-sqr_binary64
61×log-prod_binary64
58×cube-prod_binary64
57×cancel-sign-sub-inv_binary64
43×exp-prod_binary64
41×unpow3_binary64
36×distribute-rgt-neg-in_binary64
35×cube-mult_binary64 sub-neg_binary64 associate-*l*_binary64 associate-*r*_binary64
34×neg-sub0_binary64
33×neg-mul-1_binary64 distribute-lft-neg-in_binary64
23×rem-sqrt-square_binary64
22×rem-cbrt-cube_binary64
18×/-rgt-identity_binary64 *-lft-identity_binary64
17×pow-sqr_binary64
16×*-rgt-identity_binary64
15×pow-plus_binary64
14×*-commutative_binary64
13×log-pow_binary64
11×unsub-neg_binary64
10×cube-unmult_binary64
distribute-rgt-out_binary64 +-commutative_binary64
difference-of-squares_binary64
prod-exp_binary64 associate--l+_binary64
distribute-rgt-out--_binary64
log-rec_binary64 div-exp_binary64 rec-exp_binary64 rem-square-sqrt_binary64 distribute-rgt1-in_binary64 associate--r+_binary64
exp-sum_binary64 rem-cube-cbrt_binary64 distribute-neg-frac_binary64 distribute-lft-neg-out_binary64 distribute-rgt-in_binary64 count-2_binary64
div-sub_binary64 distribute-neg-in_binary64 distribute-lft1-in_binary64 associate-+l+_binary64
unpow2_binary64 unpow1/2_binary64 exp-to-pow_binary64 unpow1_binary64 1-exp_binary64 rem-log-exp_binary64 rem-3cbrt-lft_binary64 mul0-rgt_binary64 mul0-lft_binary64 distribute-neg-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 distribute-lft-in_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 pow-base-0_binary64 unpow1/3_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-diff_binary64 exp-neg_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 sqr-abs_binary64 sqr-neg_binary64 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 div0_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 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-rgt-neg-out_binary64 associate--r-_binary64 associate--l-_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+r+_binary64
Counts
108 → 63
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01462543
13402318
29492230
343182230
449342230
549702230

prune55.0ms (0.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New60363
Fresh202
Picked101
Done000
Total63366
Error
60.1b
Counts
66 → 3
Compiler

Compiled 803 to 270 computations (66.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
0.2b
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
5.1b
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
5.1b
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))

rewrite95.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
60.0b
Rules
20×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
18×times-frac_binary64
add-cbrt-cube_binary64
add-exp-log_binary64 associate-/l*_binary64 associate-/r*_binary64
pow1_binary64 add-log-exp_binary64
div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64
Counts
4 → 68
Calls

4 calls:

4.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
4.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
1.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
0.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 2214 to 447 computations (79.8% saved)

series54.0ms (0.6%)

Error
60.1b
Counts
4 → 18
Calls

4 calls:

15.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
14.0ms
(/.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 x))
6.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
6.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 1104 to 455 computations (58.8% saved)

simplify134.0ms (1.5%)

Algorithm
egg-herbie
Rules
603×div-sub_binary64
504×distribute-rgt-neg-in_binary64
417×distribute-lft-neg-in_binary64
325×cancel-sign-sub-inv_binary64
296×associate-*l*_binary64
283×associate-/l*_binary64
273×associate-*r*_binary64
272×distribute-rgt-out--_binary64
237×distribute-rgt-out_binary64
183×associate-/l/_binary64
179×distribute-neg-frac_binary64
164×sub-neg_binary64
114×associate-/r*_binary64
89×associate-*l/_binary64
88×*-commutative_binary64
86×distribute-neg-in_binary64
81×associate-/r/_binary64
74×unswap-sqr_binary64
70×exp-prod_binary64
69×distribute-lft-neg-out_binary64
66×neg-mul-1_binary64
63×associate-*r/_binary64
62×neg-sub0_binary64
61×times-frac_binary64
48×associate-+l-_binary64
44×unsub-neg_binary64
42×distribute-rgt-neg-out_binary64
37×sqr-pow_binary64
32×associate--l+_binary64
31×associate-+l+_binary64 +-commutative_binary64
30×cube-prod_binary64
26×distribute-lft-out_binary64
25×distribute-lft-out--_binary64
24×*-lft-identity_binary64
23×sub0-neg_binary64
20×associate-+r-_binary64
19×exp-sum_binary64
18×distribute-rgt-in_binary64 associate-+r+_binary64
15×distribute-lft-in_binary64
14×*-rgt-identity_binary64 +-rgt-identity_binary64 associate--l-_binary64 associate--r+_binary64
13×distribute-rgt1-in_binary64
12×pow-plus_binary64 exp-diff_binary64 /-rgt-identity_binary64
11×log-prod_binary64 cube-unmult_binary64 remove-double-neg_binary64
mul0-rgt_binary64 mul0-lft_binary64 cancel-sign-sub_binary64
log-pow_binary64 unpow3_binary64
log-div_binary64 pow-sqr_binary64 distribute-lft1-in_binary64
exp-to-pow_binary64 --rgt-identity_binary64
cube-div_binary64 associate--r-_binary64
prod-exp_binary64 rem-log-exp_binary64 cube-neg_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 swap-sqr_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 count-2_binary64
cube-mult_binary64 div0_binary64 difference-of-sqr-1_binary64
cos-neg_binary64 log-rec_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 exp-lft-sqr_binary64 rec-exp_binary64 exp-neg_binary64 1-exp_binary64 rem-exp-log_binary64 mul-1-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 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 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 pow-base-0_binary64 unpow1/3_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 +-lft-identity_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-squares_binary64
Counts
86 → 24
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0692072
11441832
23251802
37901780
426451774
546891774
654631774

prune30.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New24024
Fresh022
Picked011
Done000
Total24327
Error
60.1b
Counts
27 → 3
Compiler

Compiled 651 to 196 computations (69.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 (sqrt.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))) (sqrt.f64 (exp.f64 x)))
0.2b
(/.f64 (sqrt.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))) (sqrt.f64 (exp.f64 x)))
5.1b
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
5.1b
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))

rewrite191.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
60.1b
Rules
84×sqrt-prod_binary64
72×times-frac_binary64
60×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
12×associate-/l*_binary64 associate-/r*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64 add-log-exp_binary64
div-exp_binary64 cbrt-undiv_binary64 sqrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64
Counts
4 → 136
Calls

4 calls:

6.0ms
(/.f64 (sqrt.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))) (sqrt.f64 (exp.f64 x)))
6.0ms
(/.f64 (sqrt.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))) (sqrt.f64 (exp.f64 x)))
1.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
0.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 3800 to 397 computations (89.6% saved)

series57.0ms (0.6%)

Error
60.1b
Counts
4 → 18
Calls

4 calls:

17.0ms
(/.f64 (sqrt.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))) (sqrt.f64 (exp.f64 x)))
16.0ms
(/.f64 (sqrt.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))) (sqrt.f64 (exp.f64 x)))
6.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
6.0ms
(fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x)))
Compiler

Compiled 1135 to 404 computations (64.4% saved)

simplify238.0ms (2.6%)

Algorithm
egg-herbie
Rules
578×distribute-rgt-neg-in_binary64
500×div-sub_binary64
468×distribute-lft-neg-in_binary64
367×cancel-sign-sub-inv_binary64
339×associate-*l*_binary64
321×associate-/l*_binary64
297×associate-*r*_binary64
283×distribute-rgt-out--_binary64
218×distribute-neg-frac_binary64
195×associate-/l/_binary64
183×sub-neg_binary64
137×associate-/r*_binary64
107×distribute-neg-in_binary64
106×*-commutative_binary64
95×associate-*l/_binary64
82×associate-/r/_binary64
78×neg-mul-1_binary64
74×neg-sub0_binary64
73×unswap-sqr_binary64
71×distribute-lft-neg-out_binary64
67×associate-*r/_binary64
63×times-frac_binary64
49×distribute-rgt-out_binary64
48×associate-+l-_binary64
44×distribute-rgt-neg-out_binary64
36×sqr-pow_binary64
34×+-commutative_binary64
32×associate--l+_binary64
31×unsub-neg_binary64
30×associate-+l+_binary64
29×distribute-lft-out--_binary64
25×*-lft-identity_binary64
23×exp-prod_binary64
21×cube-prod_binary64
20×sub0-neg_binary64
19×distribute-lft-out_binary64 associate--l-_binary64 associate-+r-_binary64
16×pow-plus_binary64 *-rgt-identity_binary64 associate--r+_binary64
15×remove-double-neg_binary64 distribute-rgt-in_binary64
14×/-rgt-identity_binary64 +-rgt-identity_binary64 associate-+r+_binary64
13×cube-unmult_binary64
10×distribute-lft-in_binary64
log-div_binary64
log-prod_binary64 unpow3_binary64 cube-div_binary64 rem-sqrt-square_binary64 cancel-sign-sub_binary64 distribute-rgt1-in_binary64
associate--r-_binary64
pow-sqr_binary64
--rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64
exp-diff_binary64 cube-mult_binary64 distribute-neg-out_binary64
log-rec_binary64 unpow2_binary64 unpow1_binary64 exp-sum_binary64 cube-neg_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 distribute-frac-neg_binary64 count-2_binary64
cos-neg_binary64 unpow1/2_binary64 1-exp_binary64 distribute-lft1-in_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 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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_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 exp-neg_binary64 e-exp-1_binary64 exp-1-e_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 sqr-abs_binary64 mul-1-neg_binary64 +-lft-identity_binary64 div0_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 swap-sqr_binary64
Counts
154 → 68
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01044898
11864628
24044572
39214538
429404538
546234538
652524538

prune49.0ms (0.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New68068
Fresh011
Picked011
Done011
Total68371
Error
60.1b
Counts
71 → 3
Compiler

Compiled 1293 to 177 computations (86.3% saved)

regimes151.0ms (1.7%)

Accuracy

Total 1.1b remaining (4.4%)

Threshold costs 0b (0%)

Compiler

Compiled 1590 to 932 computations (41.4% saved)

bsearch79.0ms (0.9%)

Steps
ItersRangePoint
9
-1.493523894521058e-305
2.748880151713536e-304
-2.24907974905854e-310
Compiler

Compiled 1 to 1 computations (0% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
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 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 exp-1-e_binary64 exp-0_binary64 sqr-abs_binary64 sqr-neg_binary64 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-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-inv_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 *-commutative_binary64 +-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
198
288

end1.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

sample6.2s (69%)

Algorithm
intervals
Results
2.6s1510×body8192exit
1.6s4081×body1024valid
470.0ms1921×body512valid
438.0ms1617×body1024nan
149.0ms810×body512nan
145.0ms982×body256valid
90.0ms163×body2048valid
67.0ms853×body128valid
52.0ms383×body256nan
29.0ms404×body128nan
Compiler

Compiled 81 to 54 computations (33.3% saved)

Profiling

Loading profile data...