Details

Time bar (total: 7.6s)

analyze255.0ms (3.3%)

Algorithm
search
egg-herbie
Rules
933×associate-/l/_binary64
444×unswap-sqr_binary64
423×*-commutative_binary64
386×+-commutative_binary64
378×distribute-rgt-in_binary64
346×distribute-lft-in_binary64
335×distribute-lft-out_binary64
333×associate-/r*_binary64
301×times-frac_binary64
233×distribute-rgt-out_binary64 associate-*r*_binary64
230×associate-*l*_binary64
207×associate-/r/_binary64
188×associate-*l/_binary64
166×associate-+r+_binary64
159×associate-/l*_binary64
146×associate-+l+_binary64
137×sqr-pow_binary64
116×associate-*r/_binary64
109×cube-prod_binary64
71×distribute-rgt1-in_binary64
49×*-lft-identity_binary64
45×unpow3_binary64
44×remove-double-div_binary64
43×/-rgt-identity_binary64 pow-sqr_binary64
41×*-rgt-identity_binary64
37×cube-mult_binary64
32×distribute-lft1-in_binary64
25×cube-div_binary64
23×rem-sqrt-square_binary64
20×swap-sqr_binary64
12×pow-plus_binary64 cube-unmult_binary64
unpow2_binary64
unpow1_binary64
unpow1/2_binary64 lft-mult-inverse_binary64
*-inverses_binary64
1-exp_binary64 swap-x-y
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 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 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-square-sqrt_binary64 div-sub_binary64 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-neg_binary64 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 +-inverses_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_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 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01650
15050
215650
347250
4145150
5215650
6263750
7262550
8270050
9275250
10283650
11363850
12486150
13473750
14495550
15497750
022
122
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
12.5%87.4%0.1%5
46.8%53.1%0.1%6
70.2%29.7%0.1%7
76.5%23.4%0.1%8
83.5%16.4%0.1%9
87%12.9%0.1%10
91.1%8.8%0.1%11
93.2%6.7%0.1%12
95.4%4.5%0.1%13
96.5%3.4%0.1%14
Symmetry

(sort x y)

Compiler

Compiled 18 to 10 computations (44.4% saved)

sample27.0ms (0.4%)

Algorithm
intervals
Results
13.0ms256×body128valid
Compiler

Compiled 35 to 21 computations (40% saved)

simplify137.0ms (1.8%)

Algorithm
egg-herbie
Rules
985×associate-/l*_binary64
739×distribute-lft-out_binary64
711×*-commutative_binary64
475×distribute-rgt-out_binary64
391×+-commutative_binary64
315×distribute-rgt-in_binary64
304×associate-/l/_binary64
285×distribute-lft-in_binary64
275×times-frac_binary64
251×associate-/r*_binary64
205×sqr-pow_binary64
192×associate-*l*_binary64
178×associate-*r*_binary64
168×unswap-sqr_binary64
149×associate-+r+_binary64
146×associate-/r/_binary64
139×associate-+l+_binary64
118×remove-double-div_binary64 associate-*l/_binary64
84×cube-prod_binary64
77×associate-*r/_binary64
61×pow-sqr_binary64
44×cube-div_binary64 distribute-rgt1-in_binary64
38×unpow3_binary64
34×/-rgt-identity_binary64
32×cube-mult_binary64
30×*-lft-identity_binary64
27×*-rgt-identity_binary64
26×swap-sqr_binary64
21×distribute-lft1-in_binary64
13×pow-plus_binary64 rem-sqrt-square_binary64
11×cube-unmult_binary64
unpow2_binary64
unpow1_binary64
unpow1/2_binary64
*-inverses_binary64
1-exp_binary64 lft-mult-inverse_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 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 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-square-sqrt_binary64 div-sub_binary64 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-neg_binary64 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 +-inverses_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_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 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
13925
213125
344025
4127525
5186125
6232825
7230625
8235925
9241625
10250925
11369525
12382725
13424825
14468425
15495325

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 17 to 9 computations (47.1% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 (+.f64 x y) (+.f64 x y))
0.0b
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
18.5b
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))

rewrite244.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
5.1b
Rules
60×flip3-+_binary64 frac-times_binary64 flip-+_binary64
31×add-exp-log_binary64 add-cbrt-cube_binary64
30×associate-*l/_binary64
27×*-un-lft-identity_binary64
26×associate-/r/_binary64
18×associate-*r/_binary64
15×pow1_binary64
13×prod-exp_binary64 cbrt-unprod_binary64
11×add-sqr-sqrt_binary64
associate-*r*_binary64 distribute-lft-out_binary64
add-cube-cbrt_binary64
div-exp_binary64 cbrt-undiv_binary64 swap-sqr_binary64
associate-*l*_binary64
pow-prod-down_binary64
add-log-exp_binary64
unswap-sqr_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64 *-commutative_binary64
frac-2neg_binary64 times-frac_binary64 clear-num_binary64 div-inv_binary64 associate-/l*_binary64 associate-/r*_binary64 pow2_binary64 pow-prod-up_binary64 pow-plus_binary64 pow-sqr_binary64
Counts
3 → 140
Calls

3 calls:

18.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
16.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
9.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 4490 to 1383 computations (69.2% saved)

series225.0ms (3%)

Error
3.5b
Counts
3 → 64
Calls

3 calls:

100.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
39.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
31.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 3413 to 2548 computations (25.3% saved)

simplify179.0ms (2.3%)

Algorithm
egg-herbie
Rules
565×times-frac_binary64
366×distribute-rgt-in_binary64
361×associate-/r*_binary64
346×distribute-lft-in_binary64
320×associate-/l*_binary64
105×*-commutative_binary64
82×associate-*l/_binary64
79×+-commutative_binary64
74×associate-*r/_binary64
56×sub-neg_binary64
51×associate-+r+_binary64
49×associate-*l*_binary64
48×unswap-sqr_binary64
33×cancel-sign-sub-inv_binary64
32×log-div_binary64
30×distribute-neg-in_binary64
25×sqr-pow_binary64 associate-/r/_binary64
17×neg-mul-1_binary64 neg-sub0_binary64 associate-*r*_binary64
14×distribute-rgt-out_binary64
12×*-rgt-identity_binary64 distribute-rgt-neg-in_binary64 associate--r+_binary64
10×log-prod_binary64 exp-prod_binary64 *-lft-identity_binary64
associate--l+_binary64
cube-unmult_binary64 swap-sqr_binary64 distribute-lft-neg-in_binary64
associate-/l/_binary64
unpow3_binary64 unpow2_binary64 unpow1_binary64 exp-sum_binary64 distribute-rgt1-in_binary64
log-pow_binary64 cube-mult_binary64 cube-prod_binary64
rem-sqrt-square_binary64 associate-+r-_binary64 associate-+l+_binary64
log-rec_binary64 pow-plus_binary64 1-exp_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 distribute-lft-neg-out_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out_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 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 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-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 unsub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_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 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate-+l-_binary64
Counts
204 → 181
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03816832
112186300
249826293
350116293

prune153.0ms (2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1729181
Fresh000
Picked101
Done000
Total1739182
Error
2.2b
Counts
182 → 9
Compiler

Compiled 3911 to 1636 computations (58.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (+.f64 x y) (+.f64 x y))
0.0b
(/.f64 y (+.f64 x (+.f64 y 1)))
0.1b
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) (/.f64 y (+.f64 x (+.f64 y 1))))
16.8b
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))

rewrite303.0ms (4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
80×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
40×times-frac_binary64
34×add-exp-log_binary64 add-cbrt-cube_binary64
31×add-cube-cbrt_binary64
27×distribute-lft-out_binary64
25×associate-*r*_binary64
20×flip3-+_binary64 associate-/r/_binary64 flip-+_binary64
19×associate-*l*_binary64
13×pow1_binary64 frac-times_binary64
10×prod-exp_binary64 div-exp_binary64 cbrt-undiv_binary64 cbrt-unprod_binary64
associate-*l/_binary64 associate-*r/_binary64
associate-/l*_binary64 associate-/r*_binary64 swap-sqr_binary64
unswap-sqr_binary64
add-log-exp_binary64 div-inv_binary64
frac-2neg_binary64 clear-num_binary64 pow-prod-down_binary64 *-commutative_binary64
pow2_binary64 pow-prod-up_binary64 pow-plus_binary64 pow-sqr_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64
Counts
4 → 170
Calls

4 calls:

24.0ms
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) (/.f64 y (+.f64 x (+.f64 y 1))))
12.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
9.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))
7.0ms
(/.f64 y (+.f64 x (+.f64 y 1)))
Compiler

Compiled 4084 to 1464 computations (64.2% saved)

series287.0ms (3.8%)

Error
0.7b
Counts
4 → 81
Calls

4 calls:

102.0ms
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) (/.f64 y (+.f64 x (+.f64 y 1))))
53.0ms
(/.f64 y (+.f64 x (+.f64 y 1)))
34.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))
32.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 4505 to 3289 computations (27% saved)

simplify231.0ms (3%)

Algorithm
egg-herbie
Rules
301×associate-/r*_binary64
296×times-frac_binary64
236×associate-/l*_binary64
227×associate-*r*_binary64
218×associate-*r/_binary64 associate-*l*_binary64
197×associate-*l/_binary64
145×associate-+l+_binary64
143×distribute-rgt-in_binary64
131×distribute-lft-in_binary64
103×associate--l+_binary64
100×*-commutative_binary64
97×associate--r+_binary64
94×sub-neg_binary64
78×+-commutative_binary64
44×distribute-neg-in_binary64 associate-+r+_binary64
43×cancel-sign-sub-inv_binary64
41×exp-prod_binary64
37×log-prod_binary64 associate-/l/_binary64
32×log-div_binary64
29×neg-mul-1_binary64 neg-sub0_binary64
25×sqr-pow_binary64
23×unswap-sqr_binary64
20×associate-/r/_binary64
13×exp-sum_binary64 distribute-rgt-neg-in_binary64
11×cube-unmult_binary64
10×associate-+l-_binary64
distribute-lft-neg-in_binary64
log-pow_binary64 swap-sqr_binary64
distribute-neg-frac_binary64 associate-+r-_binary64
distribute-rgt-out_binary64
unpow3_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 cube-mult_binary64 *-rgt-identity_binary64
pow-plus_binary64 /-rgt-identity_binary64 *-lft-identity_binary64 distribute-lft-neg-out_binary64
rem-sqrt-square_binary64 difference-of-squares_binary64
1-exp_binary64 exp-1-e_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 unsub-neg_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out_binary64 count-2_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-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 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-prod_binary64 cube-neg_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_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 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft-out--_binary64 associate--l-_binary64
Counts
251 → 199
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04257021
112326414
248486278
350006278
449796278

prune176.0ms (2.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1963199
Fresh178
Picked101
Done000
Total19810208
Error
0.7b
Counts
208 → 10
Compiler

Compiled 3674 to 1840 computations (49.9% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (+.f64 x y) (+.f64 x y))
0.1b
(/.f64 (*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) y) (+.f64 (+.f64 x y) 1))
7.7b
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) y)
16.8b
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))

rewrite232.0ms (3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
39×*-un-lft-identity_binary64
34×add-exp-log_binary64 add-cbrt-cube_binary64
21×add-sqr-sqrt_binary64
19×flip3-+_binary64 flip-+_binary64 associate-*l*_binary64
18×associate-/r/_binary64
15×add-cube-cbrt_binary64
13×pow1_binary64
12×times-frac_binary64 frac-times_binary64 distribute-lft-out_binary64
10×prod-exp_binary64 div-exp_binary64 cbrt-undiv_binary64 cbrt-unprod_binary64
associate-*l/_binary64
associate-*r*_binary64
associate-*r/_binary64 associate-/r*_binary64 swap-sqr_binary64
add-log-exp_binary64 associate-/l*_binary64
div-inv_binary64 unswap-sqr_binary64
frac-2neg_binary64 clear-num_binary64 pow-prod-down_binary64 *-commutative_binary64
associate-/l/_binary64 pow2_binary64 pow-prod-up_binary64 pow-plus_binary64 pow-sqr_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64
Counts
4 → 137
Calls

4 calls:

17.0ms
(/.f64 (*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) y) (+.f64 (+.f64 x y) 1))
14.0ms
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) y)
9.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))
9.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 3394 to 923 computations (72.8% saved)

series267.0ms (3.5%)

Error
0.0b
Counts
4 → 79
Calls

4 calls:

100.0ms
(/.f64 (*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) y) (+.f64 (+.f64 x y) 1))
46.0ms
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) y)
36.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))
33.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 3831 to 2942 computations (23.2% saved)

simplify166.0ms (2.2%)

Algorithm
egg-herbie
Rules
293×times-frac_binary64
283×associate-/r*_binary64
240×unswap-sqr_binary64
231×associate-/l*_binary64
227×sub-neg_binary64
214×associate-*r*_binary64
183×associate-*l*_binary64
165×*-commutative_binary64
149×+-commutative_binary64
136×associate-+r+_binary64
131×distribute-rgt-in_binary64
128×associate-*l/_binary64
119×distribute-lft-in_binary64
105×associate-*r/_binary64
104×associate-+l+_binary64
74×associate--l+_binary64
70×neg-mul-1_binary64 neg-sub0_binary64
64×associate--r+_binary64
58×associate-/l/_binary64
53×sqr-pow_binary64 cancel-sign-sub-inv_binary64
45×unsub-neg_binary64
40×exp-prod_binary64
39×log-div_binary64
31×log-prod_binary64 distribute-neg-in_binary64
28×*-rgt-identity_binary64
27×cube-div_binary64
25×cube-prod_binary64 /-rgt-identity_binary64
22×associate-/r/_binary64
20×*-lft-identity_binary64 distribute-rgt-neg-in_binary64
16×distribute-lft-neg-in_binary64
10×exp-sum_binary64 cube-unmult_binary64 distribute-neg-frac_binary64
div-sub_binary64 pow-sqr_binary64 associate-+l-_binary64
swap-sqr_binary64
pow-plus_binary64 distribute-rgt-out_binary64
log-rec_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 cube-mult_binary64 rem-sqrt-square_binary64 difference-of-sqr-1_binary64
log-pow_binary64 difference-of-squares_binary64 associate-+r-_binary64
distribute-lft-neg-out_binary64
1-exp_binary64 exp-1-e_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 distribute-rgt-out--_binary64 distribute-lft-out_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 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 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_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 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 associate--r-_binary64
Counts
216 → 189
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03625711
110195132
242824995
351204995

prune375.0ms (4.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1836189
Fresh819
Picked101
Done000
Total1927199
Error
0.0b
Counts
199 → 7
Compiler

Compiled 3213 to 1543 computations (52% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 1 (+.f64 x y))
0.1b
(/.f64 (*.f64 (/.f64 1 (+.f64 x y)) (*.f64 y (/.f64 x (+.f64 x y)))) (+.f64 (+.f64 x y) 1))
0.2b
(*.f64 (/.f64 1 (+.f64 x y)) (*.f64 y (/.f64 x (+.f64 x y))))
9.3b
(*.f64 y (/.f64 x (+.f64 x y)))

rewrite310.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
105×add-exp-log_binary64
62×*-un-lft-identity_binary64
61×add-cbrt-cube_binary64
42×prod-exp_binary64 times-frac_binary64
37×add-sqr-sqrt_binary64
36×div-exp_binary64
32×add-cube-cbrt_binary64
22×cbrt-unprod_binary64
21×associate-*l*_binary64
19×cbrt-undiv_binary64 associate-*r*_binary64
16×distribute-lft-out_binary64
12×pow1_binary64
associate-/r*_binary64
associate-/r/_binary64
associate-*r/_binary64 1-exp_binary64 rec-exp_binary64
pow-prod-down_binary64 add-log-exp_binary64 div-inv_binary64 flip3-+_binary64 flip-+_binary64 associate-/l*_binary64
associate-/l/_binary64
unswap-sqr_binary64 *-commutative_binary64 frac-times_binary64 associate-*l/_binary64 frac-2neg_binary64 clear-num_binary64
inv-pow_binary64 pow-flip_binary64
Counts
4 → 170
Calls

4 calls:

20.0ms
(/.f64 (*.f64 (/.f64 1 (+.f64 x y)) (*.f64 y (/.f64 x (+.f64 x y)))) (+.f64 (+.f64 x y) 1))
15.0ms
(*.f64 (/.f64 1 (+.f64 x y)) (*.f64 y (/.f64 x (+.f64 x y))))
13.0ms
(*.f64 y (/.f64 x (+.f64 x y)))
5.0ms
(/.f64 1 (+.f64 x y))
Compiler

Compiled 4312 to 1507 computations (65.1% saved)

series274.0ms (3.6%)

Error
0.0b
Counts
4 → 85
Calls

4 calls:

101.0ms
(/.f64 (*.f64 (/.f64 1 (+.f64 x y)) (*.f64 y (/.f64 x (+.f64 x y)))) (+.f64 (+.f64 x y) 1))
46.0ms
(*.f64 (/.f64 1 (+.f64 x y)) (*.f64 y (/.f64 x (+.f64 x y))))
37.0ms
(*.f64 y (/.f64 x (+.f64 x y)))
35.0ms
(/.f64 1 (+.f64 x y))
Compiler

Compiled 4212 to 3083 computations (26.8% saved)

simplify187.0ms (2.5%)

Algorithm
egg-herbie
Rules
344×times-frac_binary64
342×associate-*r*_binary64
335×associate-/l*_binary64
300×associate-/r*_binary64
270×sub-neg_binary64
264×associate-*l*_binary64
171×associate-*r/_binary64
167×associate-*l/_binary64
116×associate-+l+_binary64
95×associate--l+_binary64
90×*-commutative_binary64
84×associate-/l/_binary64
71×distribute-rgt-in_binary64
69×neg-mul-1_binary64 associate--r+_binary64
68×neg-sub0_binary64
60×+-commutative_binary64
56×associate-/r/_binary64
55×distribute-lft-in_binary64
51×log-div_binary64
49×unsub-neg_binary64
47×log-prod_binary64
44×cancel-sign-sub-inv_binary64
42×exp-prod_binary64
36×associate-+r+_binary64
32×cube-prod_binary64
31×distribute-neg-in_binary64
27×div-sub_binary64
26×cube-div_binary64
25×sqr-pow_binary64
21×distribute-rgt-neg-in_binary64
16×unswap-sqr_binary64 distribute-lft-neg-in_binary64 associate-+l-_binary64
13×distribute-neg-frac_binary64
12×swap-sqr_binary64
10×*-lft-identity_binary64 associate-+r-_binary64
log-rec_binary64 cube-unmult_binary64
/-rgt-identity_binary64 *-rgt-identity_binary64
unpow3_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 cube-mult_binary64
distribute-rgt-out_binary64 associate--l-_binary64
log-pow_binary64 rem-sqrt-square_binary64 distribute-lft-neg-out_binary64
1-exp_binary64 exp-1-e_binary64 sub0-neg_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 distribute-rgt1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out_binary64 associate--r-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 unpow1/3_binary64 pow-plus_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-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 remove-double-neg_binary64 --rgt-identity_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 pow-sqr_binary64 difference-of-sqr--1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_binary64
Counts
255 → 222
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04066470
111005730
245295691
350635691

prune197.0ms (2.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2193222
Fresh156
Picked101
Done000
Total2218229
Error
0b
Counts
229 → 8
Compiler

Compiled 3367 to 1402 computations (58.4% saved)

regimes2.4s (31.6%)

Accuracy

Total 0.1b remaining (58.1%)

Threshold costs 0.1b (58.1%)

Compiler

Compiled 41342 to 24078 computations (41.8% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64 *-commutative_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 sqr-abs_binary64 sqr-neg_binary64 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub-inv_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
11525
21425

end6.0ms (0.1%)

Compiler

Compiled 51 to 27 computations (47.1% saved)

sample939.0ms (12.3%)

Algorithm
intervals
Results
303.0ms8000×body128valid
Compiler

Compiled 252 to 155 computations (38.5% saved)

Profiling

Loading profile data...