Details

Time bar (total: 4.4s)

analyze278.0ms (6.3%)

Algorithm
search
egg-herbie
Rules
752×distribute-rgt-in_binary64
602×distribute-lft-in_binary64
406×unsub-neg_binary64
389×sub-neg_binary64
376×neg-sub0_binary64
373×distribute-rgt-out--_binary64
362×neg-mul-1_binary64
335×distribute-neg-in_binary64
244×*-commutative_binary64
218×div-sub_binary64
201×distribute-lft-neg-out_binary64
198×distribute-rgt-neg-out_binary64
172×associate--r+_binary64
158×+-commutative_binary64
156×times-frac_binary64
138×associate-/l/_binary64
137×associate--l+_binary64
136×associate-+l+_binary64
133×associate-+l-_binary64
132×cancel-sign-sub-inv_binary64
127×distribute-neg-out_binary64
123×associate-+r+_binary64
117×distribute-rgt-neg-in_binary64
116×associate-/r/_binary64
114×distribute-rgt-out_binary64
107×associate--r-_binary64
100×distribute-lft-neg-in_binary64
98×associate--l-_binary64
93×associate-/l*_binary64
91×associate-/r*_binary64
82×associate-+r-_binary64
75×log-div_binary64
55×log-prod_binary64 distribute-rgt1-in_binary64
51×count-2_binary64
45×associate-*l*_binary64
42×distribute-neg-frac_binary64
39×associate-*r*_binary64
38×cancel-sign-sub_binary64
23×+-lft-identity_binary64
22×*-rgt-identity_binary64 *-lft-identity_binary64
21×remove-double-neg_binary64
20×distribute-lft-out--_binary64 associate-*l/_binary64
18×sub0-neg_binary64
16×--rgt-identity_binary64 distribute-lft-out_binary64 associate-*r/_binary64
14×+-rgt-identity_binary64
13×log-rec_binary64
12×mul0-rgt_binary64 distribute-lft1-in_binary64
11×distribute-frac-neg_binary64
10×div0_binary64
mul-1-neg_binary64
mul0-lft_binary64
/-rgt-identity_binary64
+-inverses_binary64 remove-double-div_binary64
1-exp_binary64 *-inverses_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 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 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
12015
22615
34015
46015
58115
611715
720115
836715
949215
1057415
1156615
1261115
1368115
1484115
15172815
16177315
17209615
18239715
19248515
20251415
21252815
22252815
23271815
24279615
25293215
26306615
27305015
28306215
29306615
30429615
31450615
32471315
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50%13
49.9%0%50%14
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample83.0ms (1.9%)

Algorithm
intervals
Results
48.0ms130×body1024valid
14.0ms68×body512valid
6.0ms11×body2048valid
3.0ms26×body256valid
1.0ms21×body128valid
Compiler

Compiled 25 to 24 computations (4% saved)

simplify267.0ms (6.1%)

Algorithm
egg-herbie
Rules
752×distribute-rgt-in_binary64
602×distribute-lft-in_binary64
406×unsub-neg_binary64
389×sub-neg_binary64
376×neg-sub0_binary64
373×distribute-rgt-out--_binary64
362×neg-mul-1_binary64
335×distribute-neg-in_binary64
244×*-commutative_binary64
218×div-sub_binary64
201×distribute-lft-neg-out_binary64
198×distribute-rgt-neg-out_binary64
172×associate--r+_binary64
158×+-commutative_binary64
156×times-frac_binary64
138×associate-/l/_binary64
137×associate--l+_binary64
136×associate-+l+_binary64
133×associate-+l-_binary64
132×cancel-sign-sub-inv_binary64
127×distribute-neg-out_binary64
123×associate-+r+_binary64
117×distribute-rgt-neg-in_binary64
116×associate-/r/_binary64
114×distribute-rgt-out_binary64
107×associate--r-_binary64
100×distribute-lft-neg-in_binary64
98×associate--l-_binary64
93×associate-/l*_binary64
91×associate-/r*_binary64
82×associate-+r-_binary64
75×log-div_binary64
55×log-prod_binary64 distribute-rgt1-in_binary64
51×count-2_binary64
45×associate-*l*_binary64
42×distribute-neg-frac_binary64
39×associate-*r*_binary64
38×cancel-sign-sub_binary64
23×+-lft-identity_binary64
22×*-rgt-identity_binary64 *-lft-identity_binary64
21×remove-double-neg_binary64
20×distribute-lft-out--_binary64 associate-*l/_binary64
18×sub0-neg_binary64
16×--rgt-identity_binary64 distribute-lft-out_binary64 associate-*r/_binary64
14×+-rgt-identity_binary64
13×log-rec_binary64
12×mul0-rgt_binary64 distribute-lft1-in_binary64
11×distribute-frac-neg_binary64
10×div0_binary64
mul-1-neg_binary64
mul0-lft_binary64
/-rgt-identity_binary64
+-inverses_binary64 remove-double-div_binary64
1-exp_binary64 *-inverses_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 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 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_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
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
12015
22615
34015
46015
58115
611715
720115
836715
949215
1057415
1156615
1261115
1368115
1484115
15172815
16177315
17209615
18239715
19248515
20251415
21252815
22252815
23271815
24279615
25293215
26306615
27305015
28306215
29306615
30429615
31450615
32471315

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 20 to 18 computations (10% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (+.f64 1 x) (-.f64 1 x))
5.1b
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))

rewrite159.0ms (3.6%)

Algorithm
rewrite-expression-head
Error
58.3b
Rules
78×*-un-lft-identity_binary64
52×add-sqr-sqrt_binary64
48×times-frac_binary64
30×log-prod_binary64
25×add-cube-cbrt_binary64
18×difference-of-squares_binary64
13×distribute-lft-out_binary64
distribute-lft-out--_binary64
add-exp-log_binary64
associate-/r*_binary64
associate-/r/_binary64 add-cbrt-cube_binary64 associate-/l*_binary64
pow1_binary64
div-inv_binary64 flip3--_binary64 flip--_binary64 div-exp_binary64 rem-log-exp_binary64 add-log-exp_binary64 associate-/l/_binary64
log-pow_binary64 log-div_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 flip3-+_binary64 flip-+_binary64
Counts
2 → 91
Calls

2 calls:

8.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
7.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
Compiler

Compiled 1372 to 1094 computations (20.3% saved)

series33.0ms (0.8%)

Error
0b
Counts
2 → 13
Calls

2 calls:

13.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
11.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
Compiler

Compiled 292 to 274 computations (6.2% saved)

simplify119.0ms (2.7%)

Algorithm
egg-herbie
Rules
486×div-sub_binary64
437×distribute-rgt-in_binary64
365×distribute-lft-in_binary64
329×associate-/l*_binary64
229×sub-neg_binary64
189×associate-/l/_binary64
181×log-div_binary64
161×associate-/r*_binary64
139×cancel-sign-sub-inv_binary64
132×distribute-rgt-out_binary64 associate-/r/_binary64
105×times-frac_binary64
103×div-exp_binary64
99×associate-*l*_binary64
95×prod-exp_binary64
91×associate-*r*_binary64
78×log-prod_binary64
71×distribute-rgt-neg-out_binary64 associate-+l+_binary64 +-commutative_binary64
70×unsub-neg_binary64
69×*-commutative_binary64
57×distribute-lft-neg-out_binary64 associate--l-_binary64
52×associate-+r+_binary64
48×associate-+l-_binary64
43×distribute-lft-out_binary64
42×neg-sub0_binary64 distribute-rgt-neg-in_binary64
41×neg-mul-1_binary64
40×log-rec_binary64
38×associate-+r-_binary64
37×cube-prod_binary64
33×distribute-lft-neg-in_binary64
32×exp-sum_binary64
29×associate--l+_binary64
26×exp-prod_binary64
25×sqr-pow_binary64 distribute-rgt1-in_binary64 distribute-rgt-out--_binary64
23×cube-div_binary64 associate-*l/_binary64
22×rec-exp_binary64 distribute-neg-out_binary64
20×unswap-sqr_binary64 associate-*r/_binary64
19×*-rgt-identity_binary64
18×exp-diff_binary64 /-rgt-identity_binary64 distribute-neg-frac_binary64
16×*-lft-identity_binary64
14×cube-unmult_binary64
13×distribute-neg-in_binary64
11×swap-sqr_binary64
10×distribute-lft1-in_binary64
unpow3_binary64
+-rgt-identity_binary64 cancel-sign-sub_binary64 count-2_binary64
sqr-neg_binary64 distribute-frac-neg_binary64
rem-exp-log_binary64 sub0-neg_binary64 remove-double-div_binary64 distribute-lft-out--_binary64 associate--r+_binary64
pow-plus_binary64 cube-neg_binary64 mul-1-neg_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64
exp-to-pow_binary64 cube-mult_binary64 rem-sqrt-square_binary64 remove-double-neg_binary64 pow-sqr_binary64
log-pow_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 1-exp_binary64 exp-1-e_binary64 rem-log-exp_binary64 +-inverses_binary64 difference-of-sqr--1_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 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-neg_binary64 e-exp-1_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 --rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64
Counts
104 → 91
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01392040
13081948
27141900
319201896
442301896
555401896

prune237.0ms (5.4%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New90191
Fresh000
Picked101
Done000
Total91192
Error
0b
Counts
92 → 1
Compiler

Compiled 1093 to 862 computations (21.1% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5)))
0.1b
(*.f64 2/5 (pow.f64 x 5))
0.1b
(*.f64 2/3 (pow.f64 x 3))

rewrite88.0ms (2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
22×add-sqr-sqrt_binary64
19×associate-*r*_binary64
13×add-exp-log_binary64
10×add-cube-cbrt_binary64 *-un-lft-identity_binary64
unpow-prod-down_binary64
add-cbrt-cube_binary64 unswap-sqr_binary64
prod-exp_binary64 associate-*l*_binary64
add-log-exp_binary64
cube-prod_binary64 sqr-pow_binary64
pow1_binary64
pow-to-exp_binary64 pow-exp_binary64 cbrt-unprod_binary64 *-commutative_binary64
unpow3_binary64 cube-mult_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 +-commutative_binary64
Counts
3 → 67
Calls

3 calls:

6.0ms
(*.f64 2/3 (pow.f64 x 3))
5.0ms
(*.f64 2/5 (pow.f64 x 5))
5.0ms
(+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5)))
Compiler

Compiled 1452 to 1086 computations (25.2% saved)

series46.0ms (1%)

Error
0b
Counts
3 → 12
Calls

3 calls:

21.0ms
(+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5)))
10.0ms
(*.f64 2/5 (pow.f64 x 5))
10.0ms
(*.f64 2/3 (pow.f64 x 3))
Compiler

Compiled 378 to 307 computations (18.8% saved)

simplify80.0ms (1.8%)

Algorithm
egg-herbie
Rules
570×unswap-sqr_binary64
494×cancel-sign-sub-inv_binary64
330×*-commutative_binary64
217×sqr-pow_binary64
204×distribute-rgt-neg-in_binary64
190×distribute-lft-neg-in_binary64
180×distribute-rgt-in_binary64
164×log-prod_binary64
163×distribute-lft-in_binary64
162×exp-prod_binary64
150×associate-+l+_binary64
146×associate-+r+_binary64
139×cube-prod_binary64
103×associate-*l*_binary64
101×associate-*r*_binary64
90×sub-neg_binary64
86×neg-mul-1_binary64
82×neg-sub0_binary64
61×pow-sqr_binary64
60×distribute-rgt-out_binary64
59×swap-sqr_binary64
45×rem-sqrt-square_binary64
42×unsub-neg_binary64
38×associate-/l*_binary64
35×unpow3_binary64
32×+-commutative_binary64
30×difference-of-squares_binary64
29×times-frac_binary64
27×log-pow_binary64
26×pow-plus_binary64
24×associate-/r*_binary64
22×distribute-rgt-out--_binary64
20×cube-mult_binary64
18×cube-unmult_binary64
15×distribute-lft-neg-out_binary64 associate-+l-_binary64
12×sub0-neg_binary64 distribute-lft-out_binary64
11×distribute-neg-in_binary64 associate-+r-_binary64
10×associate-/l/_binary64 associate-*r/_binary64
count-2_binary64 associate-/r/_binary64
+-rgt-identity_binary64
mul0-rgt_binary64 mul0-lft_binary64
exp-sum_binary64 associate--r+_binary64
unpow2_binary64 distribute-lft-out--_binary64
unpow1/3_binary64 prod-exp_binary64 1-exp_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 rem-square-sqrt_binary64 remove-double-neg_binary64 distribute-rgt-neg-out_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-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow1/2_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 exp-diff_binary64 exp-neg_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-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-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 associate-*l/_binary64 associate--r-_binary64 associate--l-_binary64
Counts
79 → 36
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0118972
1260908
2715908
31426908
43692897
55320897

prune26.0ms (0.6%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New36036
Fresh000
Picked011
Done000
Total36137
Error
0b
Counts
37 → 1
Compiler

Compiled 530 to 385 computations (27.4% saved)

regimes282.0ms (6.4%)

Accuracy

Total 0.0b remaining (0.3%)

Threshold costs 0.0b (0.3%)

Compiler

Compiled 3725 to 3235 computations (13.2% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_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 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01525
12025
22025

end1.0ms (0%)

Compiler

Compiled 17 to 14 computations (17.6% saved)

sample2.7s (60.7%)

Algorithm
intervals
Results
1.5s4033×body1024valid
426.0ms1979×body512valid
230.0ms428×body2048valid
130.0ms1010×body256valid
34.0ms550×body128valid
Compiler

Compiled 50 to 47 computations (6% saved)

Profiling

Loading profile data...