Details

Time bar (total: 4.7s)

analyze1.1s (22.6%)

Algorithm
search
egg-herbie
Rules
737×div-sub_binary64
456×distribute-neg-frac_binary64
352×neg-mul-1_binary64
328×sub-neg_binary64
299×distribute-rgt-in_binary64
297×distribute-rgt-neg-in_binary64
253×distribute-lft-in_binary64
240×associate-/l*_binary64
237×distribute-lft-neg-in_binary64
216×cancel-sign-sub-inv_binary64
190×cancel-sign-sub_binary64
173×distribute-rgt-neg-out_binary64
158×distribute-lft-neg-out_binary64
142×times-frac_binary64
117×associate-/r*_binary64
104×neg-sub0_binary64
90×associate--r+_binary64
87×associate-/l/_binary64
86×+-commutative_binary64
81×associate-+l-_binary64
78×unsub-neg_binary64
65×distribute-lft-out--_binary64
62×associate-*l/_binary64 *-commutative_binary64
58×associate-*r/_binary64
56×sub0-neg_binary64
53×distribute-neg-in_binary64
52×associate-/r/_binary64
51×associate--r-_binary64
49×associate-+r-_binary64 associate-+r+_binary64
44×distribute-lft-out_binary64 associate-*r*_binary64
43×distribute-frac-neg_binary64
42×associate--l+_binary64
41×associate-+l+_binary64
36×distribute-rgt-out--_binary64
35×associate--l-_binary64
34×associate-*l*_binary64
30×distribute-neg-out_binary64
26×remove-double-neg_binary64
22×+-rgt-identity_binary64
19×*-lft-identity_binary64
14×--rgt-identity_binary64
13×div0_binary64 distribute-rgt-out_binary64
mul0-rgt_binary64 mul0-lft_binary64
+-lft-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 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043154
1112154
2280154
3535154
41129133
52410112
64265112
74937112
044
144
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
15.6%84.2%0.2%8
15.6%84.2%0.2%9
20.3%79.5%0.2%10
25.3%74.5%0.2%11
34.2%65.6%0.2%12
37.4%62%0.6%13
41.7%57.7%0.6%14
Compiler

Compiled 16 to 14 computations (12.5% saved)

sample30.0ms (0.6%)

Algorithm
intervals
Results
11.0ms256×body128valid
4.0ms103×body128invalid
Compiler

Compiled 31 to 31 computations (0% saved)

simplify380.0ms (8%)

Algorithm
egg-herbie
Rules
1775×cancel-sign-sub-inv_binary64
1670×distribute-rgt-in_binary64
1374×div-sub_binary64
1020×distribute-lft-in_binary64
922×associate-/r/_binary64
629×associate-/l/_binary64
562×distribute-rgt-neg-in_binary64
560×distribute-neg-frac_binary64
554×sub-neg_binary64
522×neg-mul-1_binary64
480×distribute-rgt-neg-out_binary64
420×distribute-lft-neg-in_binary64
403×neg-sub0_binary64
347×distribute-lft-neg-out_binary64
345×*-commutative_binary64
297×unsub-neg_binary64 distribute-frac-neg_binary64
240×associate-/l*_binary64
213×associate-*r/_binary64
208×remove-double-neg_binary64
196×times-frac_binary64
192×associate-/r*_binary64
180×distribute-rgt-out--_binary64
174×distribute-rgt-out_binary64
170×+-rgt-identity_binary64
166×distribute-neg-in_binary64
163×associate-*l/_binary64
159×associate-*r*_binary64
148×associate--r+_binary64
132×mul0-lft_binary64
128×mul0-rgt_binary64 cancel-sign-sub_binary64
109×+-lft-identity_binary64
107×*-rgt-identity_binary64
105×+-commutative_binary64
81×div0_binary64
38×associate-*l*_binary64
37×associate--r-_binary64
33×associate-+l-_binary64
32×distribute-neg-out_binary64
28×associate--l+_binary64
25×/-rgt-identity_binary64 *-lft-identity_binary64
24×mul-1-neg_binary64 sub0-neg_binary64
14×--rgt-identity_binary64
13×associate--l-_binary64
12×distribute-lft-out--_binary64
associate-+r-_binary64
associate-+l+_binary64
associate-+r+_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 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_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 remove-double-div_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out_binary64 count-2_binary64
Counts
1 → 1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01222
12522
25822
310722
421522
540816
677316
7179716
8201916
9215016
10274116
11292516
12302616
13476816
14348416
15353816
16365916
17365516
18366216
19371016
20372916
21373016
22373016
23282016
24336416
25398816
26370216
27480016

prune8.0ms (0.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 37 to 33 computations (10.8% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x (/.f64 y (*.f64 z 3)))
0.2b
(/.f64 y (*.f64 z 3))
0.2b
(*.f64 (*.f64 z 3) y)
6.7b
(/.f64 t (*.f64 (*.f64 z 3) y))

rewrite137.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
23×add-exp-log_binary64 add-cbrt-cube_binary64
13×add-sqr-sqrt_binary64 *-un-lft-identity_binary64
11×add-cube-cbrt_binary64
pow1_binary64 times-frac_binary64
prod-exp_binary64 cbrt-unprod_binary64 cancel-sign-sub-inv_binary64
add-log-exp_binary64 associate-/l*_binary64
div-exp_binary64 cbrt-undiv_binary64
div-inv_binary64 pow-prod-down_binary64 associate-*r*_binary64
frac-2neg_binary64 clear-num_binary64 associate-/r*_binary64
associate-*l*_binary64 *-commutative_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64
Counts
4 → 82
Calls

4 calls:

5.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
5.0ms
(/.f64 t (*.f64 (*.f64 z 3) y))
5.0ms
(*.f64 (*.f64 z 3) y)
4.0ms
(/.f64 y (*.f64 z 3))
Compiler

Compiled 1660 to 1014 computations (38.9% saved)

series110.0ms (2.3%)

Error
0.1b
Counts
4 → 39
Calls

4 calls:

38.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
32.0ms
(/.f64 t (*.f64 (*.f64 z 3) y))
16.0ms
(*.f64 (*.f64 z 3) y)
16.0ms
(/.f64 y (*.f64 z 3))
Compiler

Compiled 1064 to 915 computations (14% saved)

simplify103.0ms (2.2%)

Algorithm
egg-herbie
Rules
410×associate-*l/_binary64
363×associate-/l/_binary64
334×associate-*r/_binary64
329×*-commutative_binary64
312×div-sub_binary64
279×distribute-neg-frac_binary64
149×exp-prod_binary64
138×distribute-rgt-neg-in_binary64
126×associate-/r*_binary64
125×distribute-lft-neg-out_binary64
124×times-frac_binary64
123×associate-/r/_binary64
119×sub-neg_binary64
115×cancel-sign-sub-inv_binary64
112×associate-*l*_binary64
105×associate-/l*_binary64
98×distribute-rgt-neg-out_binary64
91×neg-mul-1_binary64 neg-sub0_binary64
86×sqr-pow_binary64
85×unsub-neg_binary64
72×associate-*r*_binary64
71×swap-sqr_binary64
63×log-prod_binary64 distribute-lft-neg-in_binary64
60×cube-prod_binary64
53×distribute-rgt-in_binary64
45×log-div_binary64 cube-div_binary64 distribute-lft-in_binary64
36×+-commutative_binary64
34×exp-sum_binary64
27×exp-diff_binary64
25×distribute-frac-neg_binary64
23×sqr-neg_binary64
22×unpow3_binary64 associate--r+_binary64
20×*-lft-identity_binary64 unswap-sqr_binary64 distribute-neg-in_binary64
18×cube-mult_binary64
17×/-rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 associate-+l+_binary64
14×exp-cbrt_binary64
12×*-rgt-identity_binary64
11×exp-neg_binary64 pow-sqr_binary64 distribute-rgt-out_binary64 associate-+l-_binary64
10×cube-unmult_binary64 associate-+r+_binary64
difference-of-squares_binary64
associate-+r-_binary64
rem-sqrt-square_binary64 sub0-neg_binary64 +-rgt-identity_binary64
prod-exp_binary64
div0_binary64
exp-lft-cube_binary64
unpow1/2_binary64 mul-1-neg_binary64
log-rec_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 distribute-neg-out_binary64
log-pow_binary64 pow-plus_binary64 div-exp_binary64 1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 rem-3cbrt-rft_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 unpow2_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-sqr_binary64 exp-sqrt_binary64 rec-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_binary64 sqr-abs_binary64 remove-double-neg_binary64 --rgt-identity_binary64 +-lft-identity_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-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate--r-_binary64 associate--l+_binary64
Counts
121 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01461365
13831211
214071210
335721209
446701209
553661209

prune53.0ms (1.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New77683
Fresh011
Picked101
Done000
Total78785
Error
0.0b
Counts
85 → 7
Compiler

Compiled 946 to 572 computations (39.5% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x (/.f64 y (*.f64 z 3)))
0.2b
(/.f64 y (*.f64 z 3))
0.3b
(*.f64 (*.f64 z y) 3)
6.7b
(/.f64 t (*.f64 (*.f64 z y) 3))

rewrite118.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×add-exp-log_binary64 add-cbrt-cube_binary64
13×add-sqr-sqrt_binary64 *-un-lft-identity_binary64
11×add-cube-cbrt_binary64
pow1_binary64 times-frac_binary64
prod-exp_binary64 cbrt-unprod_binary64 cancel-sign-sub-inv_binary64
add-log-exp_binary64 associate-/l*_binary64
div-exp_binary64 cbrt-undiv_binary64
div-inv_binary64 pow-prod-down_binary64 associate-*r*_binary64
frac-2neg_binary64 clear-num_binary64 associate-/r*_binary64
associate-*l*_binary64 *-commutative_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64
Counts
4 → 82
Calls

4 calls:

5.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
5.0ms
(/.f64 t (*.f64 (*.f64 z y) 3))
5.0ms
(*.f64 (*.f64 z y) 3)
4.0ms
(/.f64 y (*.f64 z 3))
Compiler

Compiled 1660 to 937 computations (43.6% saved)

series107.0ms (2.3%)

Error
0.0b
Counts
4 → 39
Calls

4 calls:

37.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
31.0ms
(/.f64 t (*.f64 (*.f64 z y) 3))
16.0ms
(/.f64 y (*.f64 z 3))
16.0ms
(*.f64 (*.f64 z y) 3)
Compiler

Compiled 1064 to 912 computations (14.3% saved)

simplify124.0ms (2.6%)

Algorithm
egg-herbie
Rules
787×associate-/l*_binary64
400×associate-*l/_binary64
342×*-commutative_binary64
317×associate-*r/_binary64
283×associate-/l/_binary64
138×exp-prod_binary64
123×associate-*l*_binary64
114×times-frac_binary64 associate-/r/_binary64
113×log-div_binary64
111×sub-neg_binary64
107×associate-/r*_binary64
91×sqr-pow_binary64
87×neg-mul-1_binary64
86×neg-sub0_binary64
77×log-prod_binary64
75×associate-*r*_binary64
69×distribute-rgt-neg-in_binary64
61×unsub-neg_binary64
60×cancel-sign-sub-inv_binary64 distribute-lft-neg-in_binary64
59×distribute-neg-frac_binary64
53×cube-div_binary64
50×distribute-rgt-in_binary64
44×unpow3_binary64
43×div-sub_binary64 distribute-lft-in_binary64
42×cube-prod_binary64
36×distribute-lft-neg-out_binary64
30×/-rgt-identity_binary64
25×exp-sum_binary64
24×distribute-rgt-neg-out_binary64
23×exp-diff_binary64
20×swap-sqr_binary64
19×associate--r+_binary64
18×+-commutative_binary64
17×mul0-rgt_binary64 mul0-lft_binary64
16×exp-cbrt_binary64
15×associate-+l+_binary64
14×distribute-neg-in_binary64
12×log-rec_binary64 cube-mult_binary64
11×*-lft-identity_binary64 pow-sqr_binary64
10×associate-+l-_binary64
distribute-rgt-out_binary64
cube-unmult_binary64 *-rgt-identity_binary64
unswap-sqr_binary64 associate-+r+_binary64
sub0-neg_binary64 +-rgt-identity_binary64 associate-+r-_binary64
div0_binary64
prod-exp_binary64 difference-of-squares_binary64
unpow1/2_binary64 exp-lft-cube_binary64 mul-1-neg_binary64 distribute-frac-neg_binary64
log-pow_binary64 pow-plus_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64
div-exp_binary64 1-exp_binary64 exp-1-e_binary64 sqr-neg_binary64 rem-sqrt-square_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 unpow2_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-sqr_binary64 exp-sqrt_binary64 rec-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-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_binary64 sqr-abs_binary64 remove-double-neg_binary64 --rgt-identity_binary64 +-lft-identity_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-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate--r-_binary64 associate--l+_binary64
Counts
121 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01541365
14021213
213831213
342981212
447781212
549901212
649151212

prune43.0ms (0.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New75176
Fresh156
Picked101
Done000
Total77683
Error
0.0b
Counts
83 → 6
Compiler

Compiled 816 to 470 computations (42.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x (/.f64 y (*.f64 z 3)))
0.2b
(/.f64 y (*.f64 z 3))
0.7b
(/.f64 1/3 (*.f64 z y))
6.4b
(*.f64 t (/.f64 1/3 (*.f64 z y)))

rewrite128.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×add-exp-log_binary64 add-cbrt-cube_binary64
17×add-sqr-sqrt_binary64
15×*-un-lft-identity_binary64
13×add-cube-cbrt_binary64
12×times-frac_binary64
associate-*r*_binary64 cancel-sign-sub-inv_binary64
pow1_binary64 prod-exp_binary64 div-exp_binary64 add-log-exp_binary64 cbrt-unprod_binary64 cbrt-undiv_binary64 associate-/l*_binary64
div-inv_binary64
associate-*l*_binary64
frac-2neg_binary64 clear-num_binary64 associate-/r*_binary64
pow-prod-down_binary64 unswap-sqr_binary64 associate-*r/_binary64 *-commutative_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64
Counts
4 → 89
Calls

4 calls:

7.0ms
(*.f64 t (/.f64 1/3 (*.f64 z y)))
6.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
4.0ms
(/.f64 1/3 (*.f64 z y))
4.0ms
(/.f64 y (*.f64 z 3))
Compiler

Compiled 1815 to 1043 computations (42.5% saved)

series111.0ms (2.3%)

Error
0.0b
Counts
4 → 39
Calls

4 calls:

38.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
33.0ms
(*.f64 t (/.f64 1/3 (*.f64 z y)))
18.0ms
(/.f64 y (*.f64 z 3))
17.0ms
(/.f64 1/3 (*.f64 z y))
Compiler

Compiled 1064 to 912 computations (14.3% saved)

simplify108.0ms (2.3%)

Algorithm
egg-herbie
Rules
677×times-frac_binary64
594×associate-*l/_binary64
460×associate-/l*_binary64
422×associate-/r*_binary64
152×associate-/l/_binary64
124×log-div_binary64
120×associate-*l*_binary64
96×exp-prod_binary64
90×*-commutative_binary64
89×cube-div_binary64
76×associate-*r*_binary64
72×associate-*r/_binary64
62×log-prod_binary64
58×distribute-rgt-neg-in_binary64 associate-/r/_binary64
56×div-sub_binary64
55×distribute-neg-frac_binary64
53×cube-prod_binary64
52×sub-neg_binary64 cancel-sign-sub-inv_binary64
48×distribute-lft-neg-in_binary64
44×distribute-rgt-in_binary64
40×neg-sub0_binary64
39×distribute-lft-in_binary64
38×neg-mul-1_binary64
30×distribute-lft-neg-out_binary64
24×sqr-pow_binary64
21×exp-sum_binary64
20×unpow3_binary64 swap-sqr_binary64 distribute-rgt-neg-out_binary64
17×exp-diff_binary64 +-commutative_binary64
16×cube-mult_binary64
14×log-rec_binary64
13×exp-cbrt_binary64 *-lft-identity_binary64
10×*-rgt-identity_binary64
distribute-rgt-out_binary64
cube-unmult_binary64
associate--r+_binary64
unswap-sqr_binary64 associate-+r-_binary64
unsub-neg_binary64 difference-of-squares_binary64 distribute-neg-in_binary64
exp-neg_binary64 /-rgt-identity_binary64 distribute-frac-neg_binary64 associate-+l+_binary64
rem-3cbrt-lft_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 +-rgt-identity_binary64 associate-+l-_binary64 associate-+r+_binary64
log-pow_binary64 unpow1/3_binary64 unpow1/2_binary64 div-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-sqrt-square_binary64 div0_binary64 pow-sqr_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 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-sqrt_binary64 rec-exp_binary64 prod-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_binary64 sqr-abs_binary64 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_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-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64
Counts
128 → 75
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01631439
13981285
212871284
345571284
449841284
549881284

prune54.0ms (1.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New74175
Fresh055
Picked011
Done000
Total74781
Error
0.0b
Counts
81 → 7
Compiler

Compiled 907 to 524 computations (42.2% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x (/.f64 y (*.f64 z 3)))
0.2b
(/.f64 y (*.f64 z 3))
0.4b
(/.f64 1/3 y)
3.9b
(*.f64 (/.f64 t z) (/.f64 1/3 y))

rewrite161.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
44×add-sqr-sqrt_binary64
37×times-frac_binary64
32×*-un-lft-identity_binary64
30×add-cube-cbrt_binary64
23×add-exp-log_binary64 add-cbrt-cube_binary64
13×associate-*l*_binary64 associate-*r*_binary64
div-exp_binary64 cbrt-undiv_binary64 cancel-sign-sub-inv_binary64
pow1_binary64 add-log-exp_binary64 associate-/l*_binary64
prod-exp_binary64 cbrt-unprod_binary64 div-inv_binary64
unswap-sqr_binary64 associate-/r*_binary64
frac-2neg_binary64 clear-num_binary64
pow-prod-down_binary64 frac-times_binary64 associate-*l/_binary64 associate-*r/_binary64 *-commutative_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64
Counts
4 → 118
Calls

4 calls:

10.0ms
(*.f64 (/.f64 t z) (/.f64 1/3 y))
5.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
4.0ms
(/.f64 y (*.f64 z 3))
3.0ms
(/.f64 1/3 y)
Compiler

Compiled 2507 to 1409 computations (43.8% saved)

series98.0ms (2.1%)

Error
0.0b
Counts
4 → 36
Calls

4 calls:

38.0ms
(-.f64 x (/.f64 y (*.f64 z 3)))
33.0ms
(*.f64 (/.f64 t z) (/.f64 1/3 y))
16.0ms
(/.f64 y (*.f64 z 3))
6.0ms
(/.f64 1/3 y)
Compiler

Compiled 974 to 835 computations (14.3% saved)

simplify125.0ms (2.6%)

Algorithm
egg-herbie
Rules
697×associate-/l*_binary64
458×times-frac_binary64
351×*-commutative_binary64
294×associate-/l/_binary64
271×associate-/r*_binary64
148×associate-*r/_binary64
145×associate-*l/_binary64
143×associate-/r/_binary64
129×exp-prod_binary64
114×div-sub_binary64
113×sub-neg_binary64
105×associate-*l*_binary64
95×log-div_binary64 cube-div_binary64
92×neg-mul-1_binary64
91×neg-sub0_binary64
84×sqr-pow_binary64
74×associate-*r*_binary64
73×log-prod_binary64
68×unsub-neg_binary64
66×cube-prod_binary64
58×distribute-rgt-neg-in_binary64
55×distribute-neg-frac_binary64
52×cancel-sign-sub-inv_binary64
48×distribute-lft-neg-in_binary64
41×distribute-rgt-in_binary64
40×+-commutative_binary64
38×distribute-lft-in_binary64
37×unpow3_binary64 /-rgt-identity_binary64
33×cube-mult_binary64
31×exp-sum_binary64
30×distribute-lft-neg-out_binary64
29×exp-diff_binary64
27×unswap-sqr_binary64
24×*-lft-identity_binary64
23×*-rgt-identity_binary64
20×distribute-rgt-neg-out_binary64 associate-+l+_binary64
18×associate-+l-_binary64
17×log-rec_binary64 associate-+r-_binary64 associate-+r+_binary64
16×swap-sqr_binary64
15×mul0-rgt_binary64 mul0-lft_binary64
12×exp-cbrt_binary64
11×difference-of-squares_binary64
10×+-rgt-identity_binary64
cube-unmult_binary64 distribute-rgt-out_binary64 associate--r+_binary64
sub0-neg_binary64
pow-sqr_binary64 distribute-neg-in_binary64
sqr-neg_binary64 rem-sqrt-square_binary64 remove-double-div_binary64
div0_binary64
unpow1/2_binary64 distribute-frac-neg_binary64 associate--r-_binary64
rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 remove-double-neg_binary64 associate--l+_binary64
log-pow_binary64 unpow1/3_binary64 div-exp_binary64 exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 --rgt-identity_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_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-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-cbrt-cube_binary64 rem-cube-cbrt_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_binary64 sqr-abs_binary64 mul-1-neg_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-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate--l-_binary64
Counts
154 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02061826
15341672
215781672
341411670
447081670
549641670

prune64.0ms (1.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New92092
Fresh055
Picked011
Done011
Total92799
Error
0.0b
Counts
99 → 7
Compiler

Compiled 1188 to 630 computations (47% saved)

regimes505.0ms (10.6%)

Accuracy

Total 1.6b remaining (98.4%)

Threshold costs 0b (0%)

Compiler

Compiled 6584 to 5602 computations (14.9% saved)

bsearch0.0ms (0%)

simplify4.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
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 e-exp-1_binary64 1-exp_binary64 exp-1-e_binary64 exp-0_binary64 fabs-div_binary64 fabs-mul_binary64 fabs-sqr_binary64 fabs-neg_binary64 fabs-sub_binary64 fabs-fabs_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
01222
11622
22322
32722
43022
53122
63122

end1.0ms (0%)

Compiler

Compiled 15 to 13 computations (13.3% saved)

sample1.1s (22.4%)

Algorithm
intervals
Results
364.0ms8000×body128valid
134.0ms2957×body128invalid
Compiler

Compiled 155 to 137 computations (11.6% saved)

Profiling

Loading profile data...