Details

Time bar (total: 5.2s)

analyze646.0ms (12.4%)

Algorithm
search
egg-herbie
Rules
2114×associate-/l/_binary64
1242×div-sub_binary64
837×sub-neg_binary64
831×unsub-neg_binary64
744×distribute-rgt-in_binary64
714×distribute-lft-in_binary64
643×associate-/l*_binary64
445×cancel-sign-sub-inv_binary64
380×distribute-rgt-out--_binary64
356×*-commutative_binary64
341×associate-*l/_binary64
315×associate-/r/_binary64
302×associate-/r*_binary64
280×times-frac_binary64
266×associate-*r*_binary64
229×neg-mul-1_binary64
221×distribute-rgt-neg-in_binary64
220×associate-*l*_binary64
188×distribute-lft-neg-in_binary64
181×distribute-rgt-out_binary64
167×associate-*r/_binary64
165×distribute-rgt-neg-out_binary64
159×neg-sub0_binary64
153×distribute-frac-neg_binary64
139×associate--r+_binary64
126×associate--l+_binary64
123×distribute-neg-frac_binary64
120×distribute-lft-neg-out_binary64
114×associate--l-_binary64
109×associate-+l-_binary64
86×+-commutative_binary64
85×distribute-neg-out_binary64
79×associate-+r+_binary64
68×distribute-neg-in_binary64
64×associate--r-_binary64
58×mul0-rgt_binary64 mul0-lft_binary64 div0_binary64
55×remove-double-neg_binary64
43×associate-+r-_binary64
42×associate-+l+_binary64
39×--rgt-identity_binary64
38×remove-double-div_binary64
36×distribute-rgt1-in_binary64
30×sub0-neg_binary64
24×*-lft-identity_binary64
20×distribute-lft1-in_binary64
15×*-rgt-identity_binary64
14×+-rgt-identity_binary64
12×lft-mult-inverse_binary64 cancel-sign-sub_binary64
11×/-rgt-identity_binary64
+-lft-identity_binary64 *-inverses_binary64 distribute-lft-out--_binary64
mul-1-neg_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 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 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
02152
13352
25352
37652
411352
515252
618552
721052
826152
936952
1067352
11124252
12233152
13222352
14214552
15221952
16226752
17228952
18334352
19245552
20239152
21239152
22239152
23353752
24325552
25340952
26392552
27378352
28379552
29400552
30405752
31405752
32405752
33592752
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
12.5%87.4%0.1%4
12.5%87.4%0.1%5
15.6%84.3%0.1%6
32.8%67.1%0.1%7
38.2%61.6%0.1%8
46%53.8%0.1%9
62.6%37.3%0.1%10
67.2%32.7%0.1%11
71.1%28.8%0.1%12
81.6%18.2%0.1%13
84.1%15.7%0.1%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample20.0ms (0.4%)

Algorithm
intervals
Results
8.0ms255×body128valid
0.0msbody2048valid
Compiler

Compiled 19 to 20 computations (-5.3% saved)

simplify204.0ms (3.9%)

Algorithm
egg-herbie
Rules
2278×div-sub_binary64
968×associate-/l/_binary64
868×cancel-sign-sub-inv_binary64
705×associate-/r/_binary64
621×associate-/l*_binary64
585×distribute-rgt-in_binary64
539×sub-neg_binary64
426×distribute-lft-in_binary64
414×associate-*l/_binary64
307×unsub-neg_binary64
287×distribute-neg-frac_binary64
267×associate-*r*_binary64
253×associate-*r/_binary64
243×associate-/r*_binary64
186×*-commutative_binary64
182×times-frac_binary64
177×associate-*l*_binary64
138×neg-mul-1_binary64
137×distribute-rgt-neg-in_binary64
129×distribute-lft-neg-in_binary64
122×associate--r+_binary64
118×neg-sub0_binary64
115×distribute-frac-neg_binary64
88×distribute-lft-neg-out_binary64
85×associate--l-_binary64
80×distribute-neg-in_binary64
79×distribute-rgt-neg-out_binary64 associate--r-_binary64
67×+-commutative_binary64
57×associate--l+_binary64
56×div0_binary64
47×mul0-rgt_binary64
45×*-lft-identity_binary64 mul0-lft_binary64
42×*-rgt-identity_binary64 associate-+l-_binary64
40×/-rgt-identity_binary64
36×associate-+r-_binary64
22×remove-double-neg_binary64 remove-double-div_binary64
20×distribute-rgt-out--_binary64
17×cancel-sign-sub_binary64 associate-+l+_binary64
15×sub0-neg_binary64
11×+-rgt-identity_binary64
associate-+r+_binary64
distribute-rgt-out_binary64
--rgt-identity_binary64 *-inverses_binary64 lft-mult-inverse_binary64 swap-sqr_binary64 distribute-rgt1-in_binary64
mul-1-neg_binary64
sqr-neg_binary64 distribute-neg-out_binary64
1-exp_binary64 +-lft-identity_binary64 distribute-lft-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 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 rem-sqrt-square_binary64 rem-square-sqrt_binary64 +-inverses_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 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11413
22013
32713
43913
55113
66313
77313
89013
911513
1014313
1120013
1231813
1358313
14101013
15139013
16148613
17151113
18160613
19170613
20147113
21177613
22169813
23178713
24189413
25196213
26199613
27200613
28198613
29198613
30318413
31524913

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 9 to 8 computations (11.1% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

7.6b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))

rewrite71.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
5.6b
Rules
55×add-sqr-sqrt_binary64
53×*-un-lft-identity_binary64
42×times-frac_binary64
20×difference-of-squares_binary64
15×add-cube-cbrt_binary64
distribute-lft-out_binary64
associate-/r*_binary64
distribute-lft-out--_binary64
associate-/l*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
associate-/l/_binary64 associate-/r/_binary64
pow1_binary64 div-exp_binary64 add-log-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 flip3-+_binary64 flip-+_binary64 flip3--_binary64 flip--_binary64
Counts
1 → 60
Calls

1 calls:

12.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 976 to 392 computations (59.8% saved)

series67.0ms (1.3%)

Error
0.0b
Counts
1 → 20
Calls

1 calls:

53.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 660 to 478 computations (27.6% saved)

simplify112.0ms (2.2%)

Algorithm
egg-herbie
Rules
490×distribute-rgt-in_binary64
422×cancel-sign-sub-inv_binary64
357×div-sub_binary64
301×neg-mul-1_binary64
299×neg-sub0_binary64
179×sub-neg_binary64
155×distribute-rgt-neg-in_binary64
136×distribute-lft-neg-in_binary64 distribute-lft-in_binary64
134×distribute-neg-frac_binary64
123×distribute-neg-in_binary64
121×distribute-rgt-out_binary64
117×associate-/l*_binary64
116×associate-+l+_binary64
98×unsub-neg_binary64
96×associate-+r+_binary64
93×associate-/r*_binary64 associate-*l/_binary64
88×times-frac_binary64
84×*-commutative_binary64
77×associate-*l*_binary64 associate-*r*_binary64
69×associate-*r/_binary64
68×+-commutative_binary64
65×associate--r+_binary64
64×unswap-sqr_binary64
61×distribute-rgt-neg-out_binary64
60×associate-/l/_binary64
57×distribute-lft-neg-out_binary64
51×associate-/r/_binary64
39×distribute-lft-out_binary64
37×distribute-rgt-out--_binary64
33×cube-prod_binary64
29×sqr-pow_binary64 associate-+l-_binary64
26×*-rgt-identity_binary64
24×distribute-neg-out_binary64
22×associate-+r-_binary64
21×distribute-frac-neg_binary64
20×sub0-neg_binary64
19×cube-div_binary64 *-lft-identity_binary64
16×associate--l+_binary64
14×unpow3_binary64 +-rgt-identity_binary64
13×cube-unmult_binary64 distribute-rgt1-in_binary64
10×cancel-sign-sub_binary64
/-rgt-identity_binary64
distribute-lft-out--_binary64
pow-plus_binary64 sqr-neg_binary64 associate--l-_binary64
cube-mult_binary64
rem-sqrt-square_binary64
log-div_binary64 cube-neg_binary64 mul-1-neg_binary64 div0_binary64 difference-of-sqr-1_binary64 swap-sqr_binary64 distribute-lft1-in_binary64
log-prod_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 remove-double-neg_binary64 pow-sqr_binary64
1-exp_binary64 --rgt-identity_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 log-pow_binary64 log-rec_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 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 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 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-squares_binary64 count-2_binary64
Counts
80 → 72
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01291851
13031795
28131771
323851720
442401720
551241720

prune46.0ms (0.9%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New68472
Fresh000
Picked101
Done000
Total69473
Error
0.0b
Counts
73 → 4
Compiler

Compiled 846 to 355 computations (58% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.2b
(/.f64 1 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x)))
7.6b
(/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x))

rewrite203.0ms (3.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
316×times-frac_binary64
275×add-sqr-sqrt_binary64
273×*-un-lft-identity_binary64
107×add-cube-cbrt_binary64
84×difference-of-squares_binary64
42×associate-/r*_binary64
41×distribute-lft-out_binary64
21×distribute-lft-out--_binary64
15×add-exp-log_binary64
11×associate-/r/_binary64 associate-/l*_binary64
add-cbrt-cube_binary64
div-exp_binary64
div-inv_binary64
flip3-+_binary64 flip-+_binary64
cbrt-undiv_binary64
pow1_binary64
add-log-exp_binary64 frac-2neg_binary64 clear-num_binary64 associate-/l/_binary64 1-exp_binary64 rec-exp_binary64
div-sub_binary64 flip3--_binary64 flip--_binary64 inv-pow_binary64 pow-flip_binary64
Counts
2 → 237
Calls

2 calls:

17.0ms
(/.f64 1 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x)))
15.0ms
(/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x))
Compiler

Compiled 4583 to 2195 computations (52.1% saved)

series144.0ms (2.8%)

Error
0.0b
Counts
2 → 46
Calls

2 calls:

61.0ms
(/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x))
53.0ms
(/.f64 1 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x)))
Compiler

Compiled 1810 to 1325 computations (26.8% saved)

simplify268.0ms (5.2%)

Algorithm
egg-herbie
Rules
723×times-frac_binary64
391×distribute-rgt-in_binary64
322×distribute-lft-in_binary64
206×div-sub_binary64
176×sub-neg_binary64
162×associate-/r/_binary64
136×cancel-sign-sub-inv_binary64
114×associate-/l/_binary64
106×associate-*l/_binary64
104×associate-/l*_binary64
99×*-commutative_binary64
95×distribute-neg-in_binary64
88×+-commutative_binary64
83×distribute-neg-frac_binary64
74×associate-/r*_binary64
67×neg-sub0_binary64
66×neg-mul-1_binary64
63×exp-prod_binary64 associate-*r/_binary64
60×associate-+l+_binary64
57×associate-+r+_binary64
56×distribute-rgt-neg-in_binary64
55×associate-*r*_binary64
54×associate--l+_binary64 associate--r+_binary64
49×distribute-lft-neg-in_binary64
47×unsub-neg_binary64
43×*-rgt-identity_binary64
36×unswap-sqr_binary64 associate-*l*_binary64
30×cube-prod_binary64
27×sqr-pow_binary64
24×/-rgt-identity_binary64
23×exp-sum_binary64
17×*-lft-identity_binary64
15×distribute-lft-neg-out_binary64
13×distribute-rgt-out_binary64
12×distribute-rgt-out--_binary64
11×log-div_binary64 log-prod_binary64
10×distribute-rgt-neg-out_binary64
exp-diff_binary64 swap-sqr_binary64 distribute-rgt1-in_binary64
unpow3_binary64 cube-unmult_binary64 cube-div_binary64
cube-mult_binary64 remove-double-div_binary64 associate-+r-_binary64
log-rec_binary64 pow-plus_binary64 rem-sqrt-square_binary64 mul-1-neg_binary64 difference-of-squares_binary64 associate--r-_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64
sqr-neg_binary64 remove-double-neg_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64
1-exp_binary64 exp-1-e_binary64 sub0-neg_binary64 div0_binary64 distribute-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-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-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 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 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-lft1-in_binary64 count-2_binary64 associate--l-_binary64
Counts
283 → 261
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02918014
17307621
224497477
347907471
451427471

prune117.0ms (2.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2592261
Fresh123
Picked011
Done000
Total2605265
Error
0.0b
Counts
265 → 5
Compiler

Compiled 3063 to 1356 computations (55.7% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.2b
(*.f64 (/.f64 y z) (/.f64 y z))
4.4b
(/.f64 (+.f64 y x) (-.f64 1 (*.f64 (/.f64 y z) (/.f64 y z))))
11.7b
(*.f64 (/.f64 (+.f64 y x) (-.f64 1 (*.f64 (/.f64 y z) (/.f64 y z)))) (+.f64 1 (/.f64 y z)))

rewrite179.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
86×*-un-lft-identity_binary64
81×times-frac_binary64
79×add-sqr-sqrt_binary64
53×add-cube-cbrt_binary64
39×associate-*l*_binary64
22×add-exp-log_binary64 add-cbrt-cube_binary64
18×difference-of-squares_binary64
17×associate-*r*_binary64
13×swap-sqr_binary64
12×pow1_binary64 distribute-lft-out_binary64
div-exp_binary64 prod-exp_binary64 cbrt-unprod_binary64 cbrt-undiv_binary64 unswap-sqr_binary64 div-inv_binary64
associate-/r*_binary64
associate-/r/_binary64 associate-/l*_binary64
add-log-exp_binary64 flip3-+_binary64 frac-times_binary64 flip-+_binary64 associate-*r/_binary64
pow-prod-down_binary64 associate-*l/_binary64 flip3--_binary64 flip--_binary64 *-commutative_binary64 associate-/l/_binary64
distribute-rgt-in_binary64 distribute-lft-in_binary64 frac-2neg_binary64 clear-num_binary64 pow2_binary64 pow-prod-up_binary64 pow-plus_binary64 pow-sqr_binary64
Counts
3 → 164
Calls

3 calls:

19.0ms
(*.f64 (/.f64 (+.f64 y x) (-.f64 1 (*.f64 (/.f64 y z) (/.f64 y z)))) (+.f64 1 (/.f64 y z)))
12.0ms
(*.f64 (/.f64 y z) (/.f64 y z))
11.0ms
(/.f64 (+.f64 y x) (-.f64 1 (*.f64 (/.f64 y z) (/.f64 y z))))
Compiler

Compiled 4479 to 1581 computations (64.7% saved)

series196.0ms (3.8%)

Error
0.0b
Counts
3 → 42
Calls

3 calls:

86.0ms
(*.f64 (/.f64 (+.f64 y x) (-.f64 1 (*.f64 (/.f64 y z) (/.f64 y z)))) (+.f64 1 (/.f64 y z)))
62.0ms
(/.f64 (+.f64 y x) (-.f64 1 (*.f64 (/.f64 y z) (/.f64 y z))))
24.0ms
(*.f64 (/.f64 y z) (/.f64 y z))
Compiler

Compiled 2073 to 1589 computations (23.3% saved)

simplify220.0ms (4.2%)

Algorithm
egg-herbie
Rules
669×distribute-rgt-in_binary64
258×associate-*l/_binary64
222×associate-*r/_binary64
206×associate-*l*_binary64
198×associate-/l*_binary64
196×associate-*r*_binary64
168×*-commutative_binary64
167×distribute-lft-in_binary64
137×distribute-rgt-neg-in_binary64
128×unswap-sqr_binary64 cancel-sign-sub-inv_binary64
117×distribute-lft-neg-in_binary64
100×distribute-neg-frac_binary64
91×distribute-neg-in_binary64
90×log-prod_binary64
73×log-div_binary64
71×+-commutative_binary64
70×*-rgt-identity_binary64
66×*-lft-identity_binary64
64×sub-neg_binary64
63×times-frac_binary64
56×associate-/l/_binary64
55×neg-sub0_binary64 distribute-rgt-out_binary64
50×associate-/r*_binary64 associate-+r+_binary64
49×neg-mul-1_binary64 swap-sqr_binary64
43×sqr-pow_binary64
40×associate-+l+_binary64
33×cube-prod_binary64
31×div-sub_binary64
30×exp-prod_binary64
26×unsub-neg_binary64
25×associate-/r/_binary64
24×distribute-lft-neg-out_binary64
19×cube-div_binary64
16×log-pow_binary64 distribute-rgt-neg-out_binary64
12×/-rgt-identity_binary64 associate--r+_binary64
11×cube-unmult_binary64
10×distribute-rgt1-in_binary64
distribute-rgt-out--_binary64 distribute-lft-out_binary64
mul-1-neg_binary64
log-rec_binary64 pow-sqr_binary64
associate-+l-_binary64 associate-+r-_binary64
unpow3_binary64 pow-plus_binary64 cube-mult_binary64
exp-sum_binary64 rem-sqrt-square_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 count-2_binary64 associate--r-_binary64
1-exp_binary64 exp-1-e_binary64 remove-double-neg_binary64 +-rgt-identity_binary64 *-inverses_binary64 remove-double-div_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-lft1-in_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 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-diff_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 sub0-neg_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 difference-of-sqr--1_binary64 cancel-sign-sub_binary64 distribute-lft-out--_binary64 associate--l-_binary64
Counts
206 → 183
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03045113
19344622
230094351
349064351
449924351
549974351

prune105.0ms (2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1830183
Fresh033
Picked011
Done011
Total1835188
Error
0.0b
Counts
188 → 5
Compiler

Compiled 3449 to 1489 computations (56.8% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (/.f64 -1 z) (+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y)))
0.0b
(+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y))
0.2b
(/.f64 1 (+.f64 (/.f64 -1 z) (+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y))))
4.8b
(/.f64 x (*.f64 y z))

rewrite135.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
55×*-un-lft-identity_binary64
27×distribute-lft-out_binary64
21×times-frac_binary64
17×add-cube-cbrt_binary64 add-sqr-sqrt_binary64
13×add-exp-log_binary64
11×add-log-exp_binary64 add-cbrt-cube_binary64
frac-add_binary64
div-inv_binary64
associate-/r*_binary64
associate-/l*_binary64
pow1_binary64 associate-/r/_binary64 flip3-+_binary64 flip-+_binary64
div-exp_binary64 sum-log_binary64
cbrt-undiv_binary64
frac-2neg_binary64 clear-num_binary64 +-commutative_binary64
prod-exp_binary64 cbrt-unprod_binary64 inv-pow_binary64 pow-flip_binary64 1-exp_binary64 rec-exp_binary64 associate-+r+_binary64
Counts
4 → 102
Calls

4 calls:

20.0ms
(/.f64 1 (+.f64 (/.f64 -1 z) (+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y))))
18.0ms
(+.f64 (/.f64 -1 z) (+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y)))
10.0ms
(+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y))
4.0ms
(/.f64 x (*.f64 y z))
Compiler

Compiled 2311 to 1255 computations (45.7% saved)

series211.0ms (4.1%)

Error
0.0b
Counts
4 → 63
Calls

4 calls:

64.0ms
(/.f64 1 (+.f64 (/.f64 -1 z) (+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y))))
51.0ms
(+.f64 (/.f64 -1 z) (+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y)))
42.0ms
(+.f64 (/.f64 x (*.f64 y z)) (/.f64 1 y))
31.0ms
(/.f64 x (*.f64 y z))
Compiler

Compiled 2039 to 1647 computations (19.2% saved)

simplify172.0ms (3.3%)

Algorithm
egg-herbie
Rules
535×associate-*l/_binary64
322×distribute-rgt-in_binary64
265×distribute-lft-in_binary64
238×associate-/l/_binary64
161×cancel-sign-sub-inv_binary64
148×associate-/r/_binary64
133×times-frac_binary64
128×div-sub_binary64
112×sub-neg_binary64
105×associate-/r*_binary64
102×distribute-neg-frac_binary64
98×associate-/l*_binary64
87×unswap-sqr_binary64
80×associate-*l*_binary64 *-commutative_binary64
76×distribute-rgt-neg-in_binary64
70×distribute-neg-in_binary64 +-commutative_binary64
67×distribute-lft-neg-in_binary64
66×associate-*r*_binary64
60×associate-*r/_binary64
54×neg-sub0_binary64
49×associate-+r+_binary64
48×neg-mul-1_binary64
47×associate-+l+_binary64
44×sqr-pow_binary64
43×cube-prod_binary64
40×log-prod_binary64
35×unsub-neg_binary64
33×distribute-lft-neg-out_binary64
28×associate--l+_binary64 associate--r+_binary64
26×distribute-rgt-neg-out_binary64
23×unpow3_binary64
21×log-div_binary64 exp-prod_binary64 distribute-rgt-out_binary64
20×*-rgt-identity_binary64
18×cube-div_binary64
16×distribute-lft-out_binary64
11×mul-1-neg_binary64 /-rgt-identity_binary64
10×*-lft-identity_binary64 distribute-rgt-out--_binary64
log-pow_binary64 swap-sqr_binary64
exp-diff_binary64 cube-mult_binary64 distribute-frac-neg_binary64
cube-unmult_binary64
exp-sum_binary64 distribute-lft-out--_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 prod-exp_binary64 cube-neg_binary64 rem-sqrt-square_binary64 distribute-rgt1-in_binary64 associate-+r-_binary64
sqr-neg_binary64
pow-plus_binary64 distribute-neg-out_binary64
log-rec_binary64 remove-double-neg_binary64 difference-of-squares_binary64 associate-+l-_binary64
exp-neg_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 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 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 sub0-neg_binary64 --rgt-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 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-lft1-in_binary64 associate--r-_binary64 associate--l-_binary64
Counts
165 → 116
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02213711
15893333
219963237
347063237
449783237
549703237

prune65.0ms (1.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1160116
Fresh022
Picked011
Done022
Total1165121
Error
0.0b
Counts
121 → 5
Compiler

Compiled 1691 to 914 computations (45.9% saved)

regimes1.3s (24.7%)

Accuracy

Total 0.1b remaining (80.6%)

Threshold costs 0.1b (80.6%)

Compiler

Compiled 8595 to 6563 computations (23.6% saved)

bsearch6.0ms (0.1%)

Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64
distribute-neg-frac_binary64
if-if-or-not_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_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-inv_binary64 cancel-sign-sub_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
02470
13370
24370
35170
45770
55970
65870

end1.0ms (0%)

Compiler

Compiled 47 to 27 computations (42.6% saved)

sample676.0ms (13%)

Algorithm
intervals
Results
260.0ms7997×body128valid
0.0msbody2048valid
0.0msbody512valid
0.0msbody128invalid
Compiler

Compiled 161 to 123 computations (23.6% saved)

Profiling

Loading profile data...