Details

Time bar (total: 4.5s)

analyze451.0ms (10%)

Algorithm
search
egg-herbie
Rules
1107×associate--l-_binary64
994×associate--l+_binary64
808×unsub-neg_binary64
761×sub-neg_binary64
418×cancel-sign-sub-inv_binary64
353×associate--r-_binary64
296×*-commutative_binary64
268×distribute-rgt-in_binary64
210×distribute-neg-in_binary64
200×associate-+l-_binary64 +-commutative_binary64
185×neg-sub0_binary64
178×neg-mul-1_binary64
168×distribute-lft-in_binary64
148×distribute-rgt-neg-in_binary64
146×distribute-neg-out_binary64
143×associate-+r-_binary64
128×sub0-neg_binary64
122×associate-*l*_binary64 associate-+l+_binary64
115×associate-+r+_binary64
112×distribute-lft-neg-out_binary64
101×associate--r+_binary64
85×distribute-lft-neg-in_binary64
80×distribute-rgt-neg-out_binary64
79×distribute-rgt-out--_binary64
67×remove-double-neg_binary64 distribute-lft-out--_binary64
52×+-rgt-identity_binary64
48×cancel-sign-sub_binary64
45×--rgt-identity_binary64
36×associate-*r*_binary64
32×log-prod_binary64
29×distribute-rgt-out_binary64
22×mul0-rgt_binary64 mul0-lft_binary64
16×*-lft-identity_binary64
10×*-rgt-identity_binary64
+-lft-identity_binary64
distribute-lft-out_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-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 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 times-frac_binary64 div-sub_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_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-frac_binary64 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035119
191119
2281119
3715119
41521119
52381119
63108119
73175119
83378119
93368119
103424119
113444119
123456119
133456119
143484119
153512119
163512119
176226119
044
144
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%74.9%25.1%3
0%74.9%25.1%4
0%49.9%50.1%5
0%43.7%56.3%6
0%34.3%65.7%7
3.1%31.2%65.7%8
3.5%27.7%68.8%9
5.3%24.4%70.4%10
7.5%19.8%72.7%11
11.1%16.2%72.7%12
11.3%15.3%73.5%13
13.2%13%73.9%14
Compiler

Compiled 12 to 11 computations (8.3% saved)

sample29.0ms (0.6%)

Algorithm
intervals
Results
17.0ms256×body128valid
0.0msbody128nan
0.0msbody128invalid
Compiler

Compiled 23 to 25 computations (-8.7% saved)

simplify253.0ms (5.6%)

Algorithm
egg-herbie
Rules
1960×associate--r-_binary64
620×unsub-neg_binary64
437×distribute-rgt-in_binary64
327×distribute-neg-in_binary64
318×distribute-lft-in_binary64
298×sub-neg_binary64
241×+-commutative_binary64
236×associate--r+_binary64
204×associate-+r+_binary64
202×associate--l+_binary64
192×cancel-sign-sub-inv_binary64
191×*-commutative_binary64
182×associate-+l+_binary64
177×distribute-rgt-out--_binary64
126×neg-sub0_binary64
117×associate-*r*_binary64
115×distribute-neg-out_binary64
100×associate-*l*_binary64
94×distribute-lft-neg-out_binary64
93×distribute-rgt-neg-out_binary64
77×distribute-rgt-neg-in_binary64
75×neg-mul-1_binary64
72×associate-+l-_binary64
71×distribute-rgt-out_binary64
60×distribute-lft-neg-in_binary64
45×associate--l-_binary64
43×associate-+r-_binary64
34×mul0-rgt_binary64 mul0-lft_binary64
23×sub0-neg_binary64
17×remove-double-neg_binary64
14×*-lft-identity_binary64
13×*-rgt-identity_binary64
12×+-rgt-identity_binary64
10×--rgt-identity_binary64 distribute-rgt1-in_binary64
log-prod_binary64
+-lft-identity_binary64 distribute-lft-out_binary64
distribute-lft1-in_binary64 distribute-lft-out--_binary64
1-exp_binary64 mul-1-neg_binary64 count-2_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 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 times-frac_binary64 div-sub_binary64 /-rgt-identity_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_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 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01117
12117
25517
313017
427317
546317
647717
754917
865717
9134217
10147117
11181917
12192117
13199217
14200117
15233517
16217717
17237417
18239617
19239817
20241017
21241817
22241817
23262217
24252017
25252217
26252217
27497417

prune1.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 11 to 10 computations (9.1% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (-.f64 (*.f64 x (log.f64 y)) y) z)
0.0b
(-.f64 (*.f64 x (log.f64 y)) y)
0.0b
(+.f64 (-.f64 (-.f64 (*.f64 x (log.f64 y)) y) z) (log.f64 t))
0.2b
(*.f64 x (log.f64 y))

rewrite137.0ms (3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
38×associate--l+_binary64
30×*-un-lft-identity_binary64
27×log-prod_binary64
24×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
17×add-log-exp_binary64
15×cancel-sign-sub-inv_binary64
14×associate-+l+_binary64
12×distribute-rgt-in_binary64 distribute-lft-in_binary64
pow1_binary64
diff-log_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
sub-neg_binary64
associate-*r*_binary64 distribute-lft-out_binary64
associate-*l*_binary64 log-pow_binary64 sum-log_binary64 distribute-lft-out--_binary64 associate-+r+_binary64
flip3--_binary64 flip--_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64 flip3-+_binary64 flip-+_binary64 associate-+l-_binary64 +-commutative_binary64 difference-of-squares_binary64 associate--l-_binary64
Counts
4 → 108
Calls

4 calls:

13.0ms
(+.f64 (-.f64 (-.f64 (*.f64 x (log.f64 y)) y) z) (log.f64 t))
8.0ms
(-.f64 (-.f64 (*.f64 x (log.f64 y)) y) z)
5.0ms
(-.f64 (*.f64 x (log.f64 y)) y)
4.0ms
(*.f64 x (log.f64 y))
Compiler

Compiled 1829 to 445 computations (75.7% saved)

series218.0ms (4.8%)

Error
0.1b
Counts
4 → 54
Calls

4 calls:

87.0ms
(+.f64 (-.f64 (-.f64 (*.f64 x (log.f64 y)) y) z) (log.f64 t))
49.0ms
(-.f64 (-.f64 (*.f64 x (log.f64 y)) y) z)
30.0ms
(-.f64 (*.f64 x (log.f64 y)) y)
25.0ms
(*.f64 x (log.f64 y))
Compiler

Compiled 1184 to 991 computations (16.3% saved)

simplify107.0ms (2.4%)

Algorithm
egg-herbie
Rules
389×associate-*l*_binary64
380×distribute-rgt-in_binary64
358×distribute-lft-in_binary64
356×associate-*r*_binary64
203×sub-neg_binary64
179×associate-+r+_binary64
160×associate-+l+_binary64
157×exp-diff_binary64
150×associate--r+_binary64
121×associate-+r-_binary64
118×associate-+l-_binary64
117×associate--l+_binary64
98×exp-prod_binary64
72×+-commutative_binary64
70×cancel-sign-sub-inv_binary64
67×associate--r-_binary64
65×*-commutative_binary64
48×associate--l-_binary64
47×neg-mul-1_binary64
46×neg-sub0_binary64 distribute-neg-in_binary64
33×distribute-rgt-neg-in_binary64
30×distribute-lft-neg-out_binary64
28×log-prod_binary64 sqr-pow_binary64
27×exp-sum_binary64
25×unsub-neg_binary64
24×distribute-lft-neg-in_binary64
22×distribute-rgt-neg-out_binary64
17×distribute-rgt-out_binary64
14×cube-prod_binary64
13×div-exp_binary64 *-lft-identity_binary64
12×unpow3_binary64 prod-exp_binary64
11×*-rgt-identity_binary64 +-rgt-identity_binary64
10×log-div_binary64 unswap-sqr_binary64 associate-/l*_binary64
difference-of-squares_binary64 swap-sqr_binary64 associate-/r*_binary64
cube-mult_binary64 times-frac_binary64 distribute-lft-out_binary64 associate-*l/_binary64
remove-double-neg_binary64 distribute-neg-out_binary64
sub0-neg_binary64
exp-to-pow_binary64 cube-unmult_binary64 mul-1-neg_binary64 associate-*r/_binary64
log-rec_binary64 pow-plus_binary64 rec-exp_binary64 rem-exp-log_binary64 rem-3cbrt-lft_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 cancel-sign-sub_binary64 distribute-rgt-out--_binary64 count-2_binary64 associate-/l/_binary64
log-pow_binary64 unpow1/2_binary64 1-exp_binary64 exp-1-e_binary64 +-inverses_binary64 pow-sqr_binary64 distribute-rgt1-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 unpow2_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-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 /-rgt-identity_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 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 associate-/r/_binary64
Counts
162 → 129
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02042080
14432009
211671987
347301987
450091987

prune73.0ms (1.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1254129
Fresh000
Picked011
Done000
Total1255130
Error
0.0b
Counts
130 → 5
Compiler

Compiled 1285 to 344 computations (73.2% saved)

localize17.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y))))
0.2b
(+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y))))
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)

rewrite182.0ms (4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
60×log-prod_binary64
54×distribute-rgt-in_binary64 distribute-lft-in_binary64
36×cbrt-prod_binary64
27×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
24×associate-+l+_binary64
12×associate-+r+_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
add-log-exp_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 associate-*l*_binary64
pow1/3_binary64
sum-log_binary64 flip3-+_binary64 flip-+_binary64 distribute-lft-out_binary64 +-commutative_binary64 associate-*r*_binary64 *-commutative_binary64
Counts
4 → 112
Calls

4 calls:

11.0ms
(+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y))))
7.0ms
(*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y))))
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
Compiler

Compiled 3133 to 1236 computations (60.5% saved)

series158.0ms (3.5%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

57.0ms
(*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y))))
56.0ms
(+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y))))
17.0ms
(cbrt.f64 y)
16.0ms
(cbrt.f64 y)
Compiler

Compiled 948 to 779 computations (17.8% saved)

simplify158.0ms (3.5%)

Algorithm
egg-herbie
Rules
438×distribute-rgt-out_binary64
414×cancel-sign-sub-inv_binary64
407×*-commutative_binary64
401×log-prod_binary64
291×distribute-rgt-neg-in_binary64
258×distribute-lft-neg-in_binary64
201×distribute-rgt-in_binary64
180×distribute-lft-in_binary64
162×associate-*r*_binary64
157×associate-*l*_binary64
141×exp-prod_binary64
140×cube-prod_binary64
135×distribute-neg-in_binary64
118×exp-sum_binary64
106×distribute-lft-out_binary64
94×distribute-rgt-out--_binary64
87×sqr-pow_binary64
77×log-pow_binary64
74×exp-to-pow_binary64
68×unswap-sqr_binary64
67×distribute-lft-out--_binary64 +-commutative_binary64
66×sub-neg_binary64
65×swap-sqr_binary64
50×neg-sub0_binary64
49×neg-mul-1_binary64 distribute-lft-neg-out_binary64
46×log-div_binary64
30×associate-+l+_binary64
27×distribute-rgt1-in_binary64
26×associate-+r+_binary64
23×distribute-rgt-neg-out_binary64
22×exp-diff_binary64
19×unpow3_binary64
18×distribute-lft1-in_binary64
16×unsub-neg_binary64 pow-sqr_binary64
14×associate-/r*_binary64
13×cube-mult_binary64
unpow1/3_binary64 prod-exp_binary64 cube-div_binary64
cube-unmult_binary64 cube-neg_binary64 sqr-neg_binary64
log-rec_binary64 div-sub_binary64 associate-+r-_binary64
exp-lft-sqr_binary64 +-rgt-identity_binary64 associate-/l*_binary64 associate-+l-_binary64
pow-plus_binary64 exp-neg_binary64 rem-sqrt-square_binary64 difference-of-squares_binary64 count-2_binary64
div-exp_binary64 rec-exp_binary64 rem-log-exp_binary64 *-rgt-identity_binary64 sub0-neg_binary64 associate--r+_binary64
unpow1_binary64 rem-exp-log_binary64 *-lft-identity_binary64 associate--l+_binary64
log-E_binary64 unpow1/2_binary64 exp-lft-cube_binary64 exp-sqrt_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 remove-double-neg_binary64 distribute-neg-out_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 pow-base-0_binary64 unpow2_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-cbrt_binary64 e-exp-1_binary64 exp-0_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 times-frac_binary64 --rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_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 associate-/l/_binary64 associate-/r/_binary64 associate-*l/_binary64 associate-*r/_binary64 associate--r-_binary64 associate--l-_binary64
Counts
130 → 103
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01872136
13621903
210151741
326311733
442781733
549231733
650221733

prune107.0ms (2.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1003103
Fresh213
Picked101
Done011
Total1035108
Error
0.0b
Counts
108 → 5
Compiler

Compiled 1727 to 752 computations (56.5% saved)

localize23.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 (cbrt.f64 y))
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)

rewrite88.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
18×cbrt-prod_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
pow1/3_binary64 pow1_binary64 add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
Counts
4 → 47
Calls

4 calls:

1.0ms
(cbrt.f64 (cbrt.f64 y))
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
Compiler

Compiled 1398 to 481 computations (65.6% saved)

series85.0ms (1.9%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

21.0ms
(cbrt.f64 (cbrt.f64 y))
18.0ms
(cbrt.f64 y)
17.0ms
(cbrt.f64 y)
17.0ms
(cbrt.f64 y)
Compiler

Compiled 922 to 676 computations (26.7% saved)

simplify102.0ms (2.3%)

Algorithm
egg-herbie
Rules
513×log-prod_binary64
450×unswap-sqr_binary64
391×associate-+l+_binary64
359×associate-+r+_binary64
347×distribute-rgt-in_binary64
341×distribute-lft-in_binary64
328×distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
214×distribute-rgt-out_binary64
192×*-commutative_binary64
149×distribute-lft-out_binary64
137×cancel-sign-sub-inv_binary64
126×sqr-pow_binary64
123×associate-*l*_binary64
88×associate-*r*_binary64
84×log-pow_binary64
51×neg-sub0_binary64
50×neg-mul-1_binary64
38×pow-sqr_binary64
34×rem-sqrt-square_binary64
33×exp-prod_binary64
28×sub-neg_binary64
27×pow-plus_binary64
24×unpow3_binary64 unsub-neg_binary64
23×cube-prod_binary64
22×cube-unmult_binary64
19×distribute-rgt1-in_binary64
15×distribute-lft1-in_binary64
14×count-2_binary64
unpow2_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64
mul0-rgt_binary64 mul0-lft_binary64
cube-mult_binary64
associate-/l/_binary64 associate-*r/_binary64
associate-/l*_binary64
unpow1/3_binary64 unpow1_binary64 +-commutative_binary64
rem-3cbrt-lft_binary64 swap-sqr_binary64 associate-/r/_binary64
unpow1/2_binary64 1-exp_binary64 rem-cbrt-cube_binary64 times-frac_binary64 mul-1-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 associate-/r*_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 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-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-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 div-sub_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_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 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate-*l/_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+r-_binary64
Counts
59 → 22
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
038424
163424
2158424
3489376
4976376
53453376
64795376
74957376
84718376

prune17.0ms (0.4%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New22022
Fresh033
Picked011
Done011
Total22527
Error
0.0b
Counts
27 → 5
Compiler

Compiled 346 to 179 computations (48.3% saved)

localize26.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)

rewrite85.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
12×cbrt-prod_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
pow1/3_binary64 pow1_binary64 add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
Counts
4 → 44
Calls

4 calls:

1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
Compiler

Compiled 1548 to 644 computations (58.4% saved)

series86.0ms (1.9%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

20.0ms
(cbrt.f64 y)
19.0ms
(cbrt.f64 y)
18.0ms
(cbrt.f64 y)
18.0ms
(cbrt.f64 y)
Compiler

Compiled 1084 to 794 computations (26.8% saved)

simplify69.0ms (1.5%)

Algorithm
egg-herbie
Rules
762×unswap-sqr_binary64
587×log-prod_binary64
557×distribute-rgt-neg-in_binary64
297×cancel-sign-sub-inv_binary64
271×*-commutative_binary64
217×distribute-rgt-in_binary64
213×distribute-lft-in_binary64
191×associate-*l*_binary64
184×distribute-lft-neg-in_binary64
167×distribute-rgt-out_binary64
160×+-commutative_binary64
123×sqr-pow_binary64
119×associate-*r*_binary64
118×associate-+l+_binary64 associate-+r+_binary64
88×distribute-lft-out_binary64
68×rem-sqrt-square_binary64
66×neg-sub0_binary64
65×neg-mul-1_binary64
55×exp-prod_binary64
48×pow-sqr_binary64
44×count-2_binary64
43×cube-prod_binary64
37×log-pow_binary64
33×sub-neg_binary64
25×distribute-rgt1-in_binary64 associate-/l*_binary64
24×unsub-neg_binary64
21×pow-plus_binary64
17×distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64
16×times-frac_binary64
14×associate-/l/_binary64
13×cube-unmult_binary64 distribute-lft1-in_binary64
11×*-rgt-identity_binary64
10×*-lft-identity_binary64
associate-*r/_binary64
unpow3_binary64 mul0-rgt_binary64 mul0-lft_binary64 associate-/r/_binary64
associate-/r*_binary64
unpow2_binary64 cube-mult_binary64 associate-*l/_binary64
sub0-neg_binary64 --rgt-identity_binary64 associate-+l-_binary64
unpow1/3_binary64
unpow1_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 mul-1-neg_binary64 /-rgt-identity_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 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-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-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 div-sub_binary64 remove-double-neg_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 difference-of-squares_binary64 swap-sqr_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+r-_binary64
Counts
56 → 20
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022340
136324
284324
3204324
4615324
51763324
63022324
75030324

prune18.0ms (0.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New20020
Fresh022
Picked011
Done022
Total20525
Error
0.0b
Counts
25 → 5
Compiler

Compiled 319 to 159 computations (50.2% saved)

regimes1.0s (23%)

Accuracy

Total 0.1b remaining (86.5%)

Threshold costs 0.1b (86.5%)

Compiler

Compiled 9150 to 7764 computations (15.1% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-mul-1_binary64 neg-sub0_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 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-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
01117
11717
22517
32917
43117
53117

end1.0ms (0%)

Compiler

Compiled 11 to 10 computations (9.1% saved)

sample966.0ms (21.4%)

Algorithm
intervals
Results
458.0ms8000×body128valid
19.0ms370×body128nan
2.0ms28×body128invalid
Compiler

Compiled 133 to 122 computations (8.3% saved)

Profiling

Loading profile data...