Details

Time bar (total: 4.6s)

analyze886.0ms (19.2%)

Algorithm
search
egg-herbie
Rules
1842×div-sub_binary64
1407×associate-/l*_binary64
934×sub-neg_binary64
776×unsub-neg_binary64
575×distribute-rgt-in_binary64
537×distribute-lft-in_binary64
531×associate-/r*_binary64
480×times-frac_binary64
409×associate-/r/_binary64
408×*-commutative_binary64
371×distribute-rgt-neg-in_binary64
342×cancel-sign-sub-inv_binary64
311×neg-mul-1_binary64
282×distribute-rgt-out--_binary64
274×distribute-lft-neg-in_binary64
262×distribute-neg-in_binary64
258×neg-sub0_binary64
221×associate-*l/_binary64
205×distribute-lft-neg-out_binary64
203×+-commutative_binary64
202×associate-/l/_binary64
195×associate--r-_binary64
181×associate--l-_binary64
179×associate--r+_binary64
155×distribute-neg-frac_binary64
154×distribute-rgt-out_binary64
127×distribute-rgt-neg-out_binary64
105×remove-double-neg_binary64
90×mul0-rgt_binary64 mul0-lft_binary64
86×associate--l+_binary64
75×distribute-neg-out_binary64
74×associate-+l-_binary64
72×distribute-frac-neg_binary64
59×associate-+l+_binary64
55×associate-+r+_binary64
54×associate-*r*_binary64
53×/-rgt-identity_binary64
49×+-lft-identity_binary64
48×div0_binary64 associate-+r-_binary64
43×--rgt-identity_binary64
39×associate-*l*_binary64
36×sub0-neg_binary64 cancel-sign-sub_binary64
35×*-lft-identity_binary64
34×*-rgt-identity_binary64
31×distribute-lft-out--_binary64
26×distribute-lft1-in_binary64
22×distribute-rgt1-in_binary64
17×mul-1-neg_binary64
16×distribute-lft-out_binary64
12×remove-double-div_binary64 associate-*r/_binary64
+-rgt-identity_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 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 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 count-2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02872
16372
210972
317772
427272
539972
652672
763172
895472
9173972
10297772
11310972
12329772
13346772
14349772
15287372
16310272
17296672
18299072
19300272
20300872
21300872
22300860
23405260
24382860
25388260
26398260
27405860
28412660
29406060
30406060
31406060
32353860
33353860
34449460
35510960
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
21.8%78%0.1%6
26.5%73.3%0.1%7
32%67.9%0.1%8
46.4%52.7%0.9%9
50.9%47.2%1.9%10
54.3%43.3%2.4%11
62.1%32.5%5.4%12
64.3%28.1%7.6%13
66.3%24.6%9.2%14
Compiler

Compiled 13 to 11 computations (15.4% saved)

sample21.0ms (0.4%)

Algorithm
intervals
Results
9.0ms256×body128valid
1.0ms21×body128invalid
Compiler

Compiled 25 to 24 computations (4% saved)

simplify56.0ms (1.2%)

Algorithm
egg-herbie
Rules
218×distribute-rgt-in_binary64
208×cancel-sign-sub-inv_binary64
151×distribute-lft-in_binary64
124×sub-neg_binary64
120×unsub-neg_binary64
93×associate-/l*_binary64
83×div-sub_binary64
75×distribute-rgt-neg-in_binary64
69×distribute-neg-in_binary64
54×distribute-lft-neg-in_binary64 associate-*l/_binary64 associate-*r*_binary64
50×associate--r+_binary64
47×associate-/r*_binary64
43×distribute-rgt-out--_binary64
42×associate--r-_binary64
38×distribute-lft-neg-out_binary64 associate--l-_binary64
36×associate-/r/_binary64
35×neg-mul-1_binary64
33×*-commutative_binary64
31×neg-sub0_binary64 distribute-neg-frac_binary64
30×associate-*l*_binary64
28×associate--l+_binary64
27×associate-+l-_binary64
26×associate-/l/_binary64
25×mul0-rgt_binary64 mul0-lft_binary64 +-commutative_binary64
24×distribute-rgt-neg-out_binary64
22×associate-+r-_binary64
21×associate-*r/_binary64
18×+-lft-identity_binary64
17×distribute-rgt-out_binary64
16×*-lft-identity_binary64
15×*-rgt-identity_binary64
12×associate-+r+_binary64
11×sub0-neg_binary64 --rgt-identity_binary64
distribute-neg-out_binary64 distribute-lft-out--_binary64 associate-+l+_binary64
remove-double-neg_binary64 div0_binary64
distribute-lft1-in_binary64
distribute-rgt1-in_binary64
/-rgt-identity_binary64
+-rgt-identity_binary64 distribute-lft-out_binary64
mul-1-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-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 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 times-frac_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-frac-neg_binary64 count-2_binary64
Counts
1 → 1
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
01118
12018
23718
36018
49218
513918
618418
722118
832718
946118
1079715
1182015
1288515
1384715
1483915
1583915
1673815

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 2
Compiler

Compiled 32 to 28 computations (12.5% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 (+.f64 x 4) y)
0.0b
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
2.5b
(*.f64 (/.f64 x y) z)

rewrite102.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
28×*-un-lft-identity_binary64
25×add-sqr-sqrt_binary64
22×times-frac_binary64
20×add-cube-cbrt_binary64
13×associate-*l*_binary64
10×add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64 add-log-exp_binary64
distribute-lft-out_binary64 associate-/l*_binary64
associate-*l/_binary64 associate-*r*_binary64 associate-/r*_binary64
div-exp_binary64 prod-exp_binary64 cbrt-unprod_binary64 cbrt-undiv_binary64 unswap-sqr_binary64 div-inv_binary64 associate-/l/_binary64
pow-prod-down_binary64 *-commutative_binary64 diff-log_binary64 frac-sub_binary64 sub-div_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 cancel-sign-sub-inv_binary64 frac-2neg_binary64 clear-num_binary64 flip3-+_binary64 flip-+_binary64
Counts
3 → 79
Calls

3 calls:

8.0ms
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
6.0ms
(*.f64 (/.f64 x y) z)
5.0ms
(/.f64 (+.f64 x 4) y)
Compiler

Compiled 1434 to 693 computations (51.7% saved)

series110.0ms (2.4%)

Error
0.0b
Counts
3 → 33
Calls

3 calls:

51.0ms
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
25.0ms
(*.f64 (/.f64 x y) z)
19.0ms
(/.f64 (+.f64 x 4) y)
Compiler

Compiled 896 to 689 computations (23.1% saved)

simplify104.0ms (2.2%)

Algorithm
egg-herbie
Rules
392×associate-*l*_binary64
341×associate-*l/_binary64
322×distribute-rgt-neg-in_binary64
312×div-sub_binary64
302×associate-*r*_binary64
294×distribute-lft-neg-in_binary64
268×associate-*r/_binary64
241×associate-/l*_binary64
234×cancel-sign-sub-inv_binary64
232×distribute-neg-frac_binary64
136×*-commutative_binary64
135×distribute-rgt-in_binary64
128×distribute-lft-neg-out_binary64 distribute-lft-in_binary64
122×sub-neg_binary64
121×exp-prod_binary64
117×distribute-rgt-neg-out_binary64
98×times-frac_binary64
78×associate-/r*_binary64
73×neg-sub0_binary64
63×associate-/l/_binary64
60×neg-mul-1_binary64
55×cube-prod_binary64
54×log-prod_binary64 associate-/r/_binary64
52×sqr-pow_binary64 +-commutative_binary64
50×unsub-neg_binary64
46×exp-sum_binary64
43×*-rgt-identity_binary64
40×*-lft-identity_binary64
39×exp-diff_binary64
38×cube-div_binary64
36×log-div_binary64
34×unswap-sqr_binary64
33×associate-+l+_binary64
31×swap-sqr_binary64
28×distribute-neg-in_binary64
26×associate-+r+_binary64
25×associate-+l-_binary64
20×unpow3_binary64
19×associate-+r-_binary64
17×difference-of-squares_binary64
16×+-rgt-identity_binary64 distribute-rgt-out_binary64
14×sqr-neg_binary64 /-rgt-identity_binary64
13×cube-mult_binary64
11×cube-neg_binary64
mul-1-neg_binary64 sub0-neg_binary64 associate--l+_binary64
cube-unmult_binary64
log-rec_binary64 mul0-rgt_binary64 mul0-lft_binary64 associate--r+_binary64
distribute-rgt-out--_binary64
pow-sqr_binary64 distribute-frac-neg_binary64
remove-double-neg_binary64 distribute-lft-out_binary64
unpow1/2_binary64
exp-neg_binary64 rem-sqrt-square_binary64 div0_binary64 remove-double-div_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 associate--r-_binary64 associate--l-_binary64
div-exp_binary64 1-exp_binary64 exp-1-e_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 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 sqr-abs_binary64 rem-square-sqrt_binary64 --rgt-identity_binary64 +-lft-identity_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_binary64
Counts
112 → 63
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01611432
13931370
210351361
331811334
445391334
551711334

prune54.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New59463
Fresh011
Picked011
Done000
Total59665
Error
0b
Counts
65 → 6
Compiler

Compiled 857 to 439 computations (48.8% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))
8.3b
(cbrt.f64 (/.f64 x y))
8.3b
(cbrt.f64 (/.f64 x y))
8.3b
(cbrt.f64 (/.f64 x y))

rewrite190.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
103×cbrt-prod_binary64
81×add-sqr-sqrt_binary64
69×times-frac_binary64
57×add-cube-cbrt_binary64 *-un-lft-identity_binary64
16×swap-sqr_binary64 associate-*l*_binary64 associate-*r*_binary64
11×pow1_binary64
pow1/3_binary64 unswap-sqr_binary64
cbrt-div_binary64 div-inv_binary64
add-exp-log_binary64
add-log-exp_binary64 add-cbrt-cube_binary64
pow-prod-down_binary64 pow-prod-up_binary64 pow-sqr_binary64
pow2_binary64 pow-plus_binary64 prod-exp_binary64 cbrt-unprod_binary64 frac-times_binary64 associate-*l/_binary64 associate-*r/_binary64 *-commutative_binary64
Counts
4 → 144
Calls

4 calls:

14.0ms
(*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))
2.0ms
(cbrt.f64 (/.f64 x y))
2.0ms
(cbrt.f64 (/.f64 x y))
2.0ms
(cbrt.f64 (/.f64 x y))
Compiler

Compiled 4320 to 1286 computations (70.2% saved)

series207.0ms (4.5%)

Error
0b
Counts
4 → 24
Calls

4 calls:

55.0ms
(*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))
44.0ms
(cbrt.f64 (/.f64 x y))
43.0ms
(cbrt.f64 (/.f64 x y))
42.0ms
(cbrt.f64 (/.f64 x y))
Compiler

Compiled 2091 to 1478 computations (29.3% saved)

simplify209.0ms (4.5%)

Algorithm
egg-herbie
Rules
459×log-div_binary64
409×associate-/l*_binary64
303×exp-prod_binary64
290×associate-*l*_binary64
240×associate-*r*_binary64
220×distribute-rgt-in_binary64
212×unswap-sqr_binary64
201×log-pow_binary64
197×distribute-lft-in_binary64
163×exp-sum_binary64
157×*-commutative_binary64
121×log-prod_binary64
108×sub-neg_binary64
107×sqr-pow_binary64
99×div-sub_binary64
95×exp-diff_binary64
87×unsub-neg_binary64
85×associate-/l/_binary64
58×log-rec_binary64 swap-sqr_binary64
57×associate-/r/_binary64
51×*-rgt-identity_binary64 cancel-sign-sub-inv_binary64
49×exp-to-pow_binary64 *-lft-identity_binary64
40×neg-sub0_binary64
39×neg-mul-1_binary64
38×distribute-rgt-neg-out_binary64
35×distribute-neg-out_binary64 associate-/r*_binary64
31×prod-exp_binary64 associate-+r-_binary64
30×distribute-neg-in_binary64
28×distribute-lft-neg-out_binary64
26×exp-neg_binary64 times-frac_binary64
23×pow-sqr_binary64 distribute-rgt-neg-in_binary64 distribute-rgt-out_binary64
21×unpow1/3_binary64 +-commutative_binary64
20×div-exp_binary64
19×pow-plus_binary64 distribute-lft-out_binary64
18×cube-prod_binary64 associate-+l-_binary64
16×associate-*l/_binary64 associate-*r/_binary64
15×distribute-lft-neg-in_binary64
14×exp-lft-sqr_binary64 distribute-frac-neg_binary64 associate-+r+_binary64
11×unpow3_binary64 associate--r-_binary64
10×sub0-neg_binary64 associate--l-_binary64
unpow2_binary64 rem-sqrt-square_binary64 +-rgt-identity_binary64
rem-exp-log_binary64 cube-unmult_binary64 associate-+l+_binary64
distribute-rgt-out--_binary64
unpow1_binary64 /-rgt-identity_binary64 count-2_binary64
unpow1/2_binary64 --rgt-identity_binary64 associate--l+_binary64 associate--r+_binary64
remove-double-neg_binary64
distribute-lft-out--_binary64
rec-exp_binary64 rem-3cbrt-lft_binary64
log-E_binary64 exp-sqrt_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-rft_binary64 rem-square-sqrt_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 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-mult_binary64 cube-div_binary64 cube-neg_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 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-rgt1-in_binary64 distribute-lft1-in_binary64
Counts
168 → 122
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01863164
13353007
27712861
320222517
445372373
547652369
648792369
751102369

prune92.0ms (2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1220122
Fresh044
Picked011
Done011
Total1226128
Error
0b
Counts
128 → 6
Compiler

Compiled 2473 to 973 computations (60.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 (+.f64 x 4) (*.f64 x z))
3.4b
(/.f64 (-.f64 (+.f64 x 4) (*.f64 x z)) y)

rewrite57.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
10×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
times-frac_binary64
add-log-exp_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
associate-/l*_binary64 associate-/r*_binary64
pow1_binary64 flip3--_binary64 associate-/l/_binary64 flip--_binary64 diff-log_binary64
div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 div-sub_binary64 clear-num_binary64 div-inv_binary64 sum-log_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64 associate--l+_binary64
Counts
2 → 44
Calls

2 calls:

7.0ms
(/.f64 (-.f64 (+.f64 x 4) (*.f64 x z)) y)
6.0ms
(-.f64 (+.f64 x 4) (*.f64 x z))
Compiler

Compiled 851 to 460 computations (45.9% saved)

series69.0ms (1.5%)

Error
0b
Counts
2 → 27
Calls

2 calls:

39.0ms
(/.f64 (-.f64 (+.f64 x 4) (*.f64 x z)) y)
18.0ms
(-.f64 (+.f64 x 4) (*.f64 x z))
Compiler

Compiled 572 to 481 computations (15.9% saved)

simplify91.0ms (2%)

Algorithm
egg-herbie
Rules
379×neg-mul-1_binary64
278×div-sub_binary64
277×distribute-rgt-in_binary64
267×distribute-lft-in_binary64
238×associate-/l/_binary64
232×associate-/r*_binary64
198×cancel-sign-sub-inv_binary64
192×associate-*l*_binary64
179×distribute-lft-neg-out_binary64 associate-/r/_binary64
172×distribute-rgt-neg-out_binary64
149×associate-*r*_binary64
134×exp-prod_binary64
111×distribute-rgt-neg-in_binary64 associate-*l/_binary64
105×sub-neg_binary64
103×exp-sum_binary64 distribute-lft-neg-in_binary64
96×*-commutative_binary64
86×unsub-neg_binary64
85×associate-/l*_binary64 associate-+l+_binary64
84×exp-diff_binary64
79×associate-*r/_binary64
76×distribute-rgt-out_binary64
72×cube-prod_binary64
68×associate-+r+_binary64
62×distribute-neg-frac_binary64
58×neg-sub0_binary64
48×distribute-frac-neg_binary64
43×cube-div_binary64
42×+-commutative_binary64
41×distribute-neg-in_binary64
36×sqr-pow_binary64
31×log-div_binary64
27×times-frac_binary64
25×log-prod_binary64
19×swap-sqr_binary64
18×distribute-lft-out_binary64
17×associate--l+_binary64
16×unpow3_binary64 unswap-sqr_binary64
15×associate-+l-_binary64 associate-+r-_binary64
12×associate--r+_binary64
11×cube-mult_binary64 mul-1-neg_binary64 +-rgt-identity_binary64
10×cube-neg_binary64 /-rgt-identity_binary64 difference-of-squares_binary64
cube-unmult_binary64 sqr-neg_binary64 *-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64
*-rgt-identity_binary64
remove-double-neg_binary64 sub0-neg_binary64 distribute-rgt1-in_binary64 distribute-rgt-out--_binary64 associate--r-_binary64
div-exp_binary64 distribute-lft1-in_binary64
exp-neg_binary64 pow-sqr_binary64
log-rec_binary64 associate--l-_binary64
prod-exp_binary64 div0_binary64
pow-plus_binary64 1-exp_binary64 exp-1-e_binary64 --rgt-identity_binary64 +-lft-identity_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 pow-base-0_binary64 unpow1/3_binary64 unpow2_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 rec-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 sqr-abs_binary64 rem-sqrt-square_binary64 rem-square-sqrt_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-out_binary64 distribute-lft-out--_binary64
Counts
71 → 62
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01031245
12611168
27501138
324141108
443181108
549601108

prune40.0ms (0.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New61162
Fresh123
Picked011
Done112
Total63568
Error
0b
Counts
68 → 5
Compiler

Compiled 732 to 365 computations (50.1% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 x (*.f64 x z))
0.1b
(/.f64 1 (/.f64 y (+.f64 4 (-.f64 x (*.f64 x z)))))
3.4b
(/.f64 y (+.f64 4 (-.f64 x (*.f64 x z))))

rewrite145.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
114×times-frac_binary64
95×*-un-lft-identity_binary64
63×add-cube-cbrt_binary64 add-sqr-sqrt_binary64
22×associate-/r*_binary64
16×add-exp-log_binary64 distribute-lft-out_binary64
11×associate-/r/_binary64
10×add-cbrt-cube_binary64
div-exp_binary64
div-inv_binary64 associate-/l*_binary64
add-log-exp_binary64 flip3-+_binary64 flip-+_binary64
pow1_binary64 cbrt-undiv_binary64
frac-2neg_binary64 clear-num_binary64 1-exp_binary64 rec-exp_binary64
inv-pow_binary64 pow-flip_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 cancel-sign-sub-inv_binary64
Counts
3 → 141
Calls

3 calls:

9.0ms
(/.f64 1 (/.f64 y (+.f64 4 (-.f64 x (*.f64 x z)))))
6.0ms
(/.f64 y (+.f64 4 (-.f64 x (*.f64 x z))))
3.0ms
(-.f64 x (*.f64 x z))
Compiler

Compiled 3069 to 1609 computations (47.6% saved)

series161.0ms (3.5%)

Error
0b
Counts
3 → 48
Calls

3 calls:

73.0ms
(/.f64 y (+.f64 4 (-.f64 x (*.f64 x z))))
39.0ms
(/.f64 1 (/.f64 y (+.f64 4 (-.f64 x (*.f64 x z)))))
15.0ms
(-.f64 x (*.f64 x z))
Compiler

Compiled 2204 to 1741 computations (21% saved)

simplify166.0ms (3.6%)

Algorithm
egg-herbie
Rules
405×associate-/l/_binary64
229×cancel-sign-sub-inv_binary64
150×div-sub_binary64
145×distribute-neg-in_binary64
138×associate-/r*_binary64
132×distribute-rgt-neg-in_binary64
129×*-commutative_binary64
127×unswap-sqr_binary64
122×distribute-lft-neg-in_binary64 associate-/r/_binary64
118×associate-*l*_binary64
116×associate-*r*_binary64
108×sub-neg_binary64
102×distribute-rgt-in_binary64
98×associate-*l/_binary64
96×+-commutative_binary64
91×associate-+r+_binary64
89×exp-prod_binary64
86×associate-/l*_binary64
85×distribute-lft-in_binary64
79×associate-*r/_binary64
77×distribute-neg-frac_binary64
71×neg-sub0_binary64 distribute-rgt-out_binary64
70×times-frac_binary64
66×neg-mul-1_binary64
61×associate-+l+_binary64
60×cube-prod_binary64
55×*-rgt-identity_binary64
47×sqr-pow_binary64
41×distribute-lft-neg-out_binary64
38×exp-sum_binary64
35×unsub-neg_binary64
32×distribute-rgt-neg-out_binary64
22×log-prod_binary64 associate--r+_binary64
18×distribute-rgt-out--_binary64
17×associate--l+_binary64
15×distribute-rgt1-in_binary64
14×unpow3_binary64 exp-diff_binary64 *-lft-identity_binary64
12×distribute-lft-out_binary64
11×log-div_binary64
10×mul-1-neg_binary64 swap-sqr_binary64
cube-unmult_binary64 cube-mult_binary64
sqr-neg_binary64 rem-sqrt-square_binary64 /-rgt-identity_binary64 associate-+r-_binary64
pow-plus_binary64 cube-div_binary64 cube-neg_binary64 distribute-lft-out--_binary64
log-rec_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 difference-of-squares_binary64 distribute-lft1-in_binary64
div0_binary64 remove-double-div_binary64 associate--r-_binary64
+-rgt-identity_binary64
exp-neg_binary64 remove-double-neg_binary64 +-lft-identity_binary64 distribute-frac-neg_binary64 associate-+l-_binary64
div-exp_binary64 1-exp_binary64 exp-1-e_binary64 sub0-neg_binary64 pow-sqr_binary64 difference-of-sqr--1_binary64 count-2_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 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 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 sqr-abs_binary64 rem-square-sqrt_binary64 --rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64
Counts
189 → 167
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03164931
18014664
229834495
345764492
450144492

prune95.0ms (2.1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1661167
Fresh112
Picked011
Done112
Total1684172
Error
0b
Counts
172 → 4
Compiler

Compiled 2450 to 1374 computations (43.9% saved)

regimes893.0ms (19.4%)

Accuracy

Total 0.2b remaining (93.3%)

Threshold costs 0.2b (93.3%)

Compiler

Compiled 6433 to 5133 computations (20.2% saved)

bsearch40.0ms (0.9%)

Steps
ItersRangePoint
11
6.101934933099567e+51
8.324915015039391e+77
3.866916048457255e+58
6
-4.405077199443624e+39
-6.190200238153574e+38
-1.0634706061927283e+39
Compiler

Compiled 1 to 3 computations (-200% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64 +-commutative_binary64
11×sub-neg_binary64
neg-mul-1_binary64 neg-sub0_binary64 distribute-rgt-neg-in_binary64
cancel-sign-sub-inv_binary64
distribute-lft-neg-in_binary64
distribute-lft-neg-out_binary64
distribute-neg-frac_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 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 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-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02866
14866
26966
38966
410366
510866
610966
710766

end1.0ms (0%)

Compiler

Compiled 44 to 31 computations (29.5% saved)

sample774.0ms (16.8%)

Algorithm
intervals
Results
294.0ms8000×body128valid
52.0ms1146×body128invalid
Compiler

Compiled 106 to 98 computations (7.5% saved)

Profiling

Loading profile data...