Details

Time bar (total: 9.2s)

analyze1.3s (13.9%)

Algorithm
search
egg-herbie
Rules
895×sub-neg_binary64
471×div-sub_binary64
349×unsub-neg_binary64
310×associate-/l*_binary64
307×neg-mul-1_binary64
248×neg-sub0_binary64
232×sqr-pow_binary64
228×distribute-rgt-neg-in_binary64
223×associate-/r*_binary64
211×cancel-sign-sub-inv_binary64 associate-+l-_binary64
200×distribute-lft-neg-in_binary64 associate-/l/_binary64
198×associate-*l/_binary64
195×associate-/r/_binary64
178×distribute-neg-in_binary64
175×times-frac_binary64
171×+-commutative_binary64
119×distribute-neg-frac_binary64 distribute-rgt-in_binary64
112×pow-sqr_binary64
94×*-commutative_binary64
93×associate--l+_binary64
89×associate--r+_binary64
85×distribute-lft-neg-out_binary64
81×sub0-neg_binary64
78×distribute-frac-neg_binary64 distribute-lft-in_binary64
71×distribute-rgt-neg-out_binary64
68×associate--r-_binary64
64×rem-sqrt-square_binary64
63×associate-+r-_binary64 associate-+r+_binary64
48×log-prod_binary64 associate-*r*_binary64
45×distribute-rgt-out--_binary64 associate-+l+_binary64
44×associate--l-_binary64
43×cancel-sign-sub_binary64
40×*-lft-identity_binary64 div0_binary64 difference-of-sqr--1_binary64
38×remove-double-neg_binary64
35×--rgt-identity_binary64
34×distribute-rgt1-in_binary64
32×exp-prod_binary64 difference-of-sqr-1_binary64 swap-sqr_binary64
24×mul0-rgt_binary64 mul0-lft_binary64
23×*-rgt-identity_binary64
18×+-lft-identity_binary64
16×exp-diff_binary64 exp-sum_binary64 sqr-neg_binary64 /-rgt-identity_binary64 +-rgt-identity_binary64
13×associate-*r/_binary64
12×distribute-rgt-out_binary64 associate-*l*_binary64
unpow1/2_binary64
distribute-neg-out_binary64 distribute-lft-out--_binary64
1-exp_binary64 exp-1-e_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 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-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-square-sqrt_binary64 mul-1-neg_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-squares_binary64 unswap-sqr_binary64 distribute-lft1-in_binary64 distribute-lft-out_binary64 count-2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046140
194140
2223140
3397140
4788140
51435140
61769140
72227140
83363140
93984140
104592140
114965140
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
0%99.8%0.2%8
1.6%98.2%0.2%9
2.3%97.5%0.2%10
11.7%88.1%0.2%11
13.1%74.3%12.7%12
16.1%70.5%13.5%13
18.6%68%13.5%14
Compiler

Compiled 14 to 13 computations (7.1% saved)

sample87.0ms (0.9%)

Algorithm
intervals
Results
22.0ms46×body1024valid
11.0ms14×body2048valid
11.0ms44×body512valid
10.0ms133×body128valid
6.0ms26×body128overflowed
3.0ms19×body256valid
2.0ms46×body128nan
2.0ms12×body512nan
2.0msbody1024nan
1.0msbody256nan
0.0msbody128invalid
Compiler

Compiled 27 to 29 computations (-7.4% saved)

simplify308.0ms (3.3%)

Algorithm
egg-herbie
Rules
2361×associate--r-_binary64
653×div-sub_binary64
609×unsub-neg_binary64
473×sub-neg_binary64
424×distribute-rgt-in_binary64
405×distribute-lft-in_binary64
352×distribute-neg-in_binary64
267×associate-/r/_binary64
250×associate-/l*_binary64
214×*-commutative_binary64
173×distribute-rgt-out--_binary64
172×associate-+r+_binary64
170×distribute-lft-neg-in_binary64
158×cancel-sign-sub-inv_binary64
155×distribute-rgt-neg-in_binary64
153×+-commutative_binary64
138×associate-/r*_binary64
129×associate-+l+_binary64
122×associate--r+_binary64
113×neg-mul-1_binary64
104×neg-sub0_binary64
89×distribute-neg-frac_binary64
84×distribute-lft-neg-out_binary64
79×associate--l+_binary64
71×associate-+l-_binary64
60×associate-/l/_binary64
54×distribute-rgt-neg-out_binary64 associate-*r*_binary64
53×distribute-neg-out_binary64 associate-*l/_binary64
50×mul0-rgt_binary64 mul0-lft_binary64
44×cancel-sign-sub_binary64
38×distribute-rgt-out_binary64
34×associate-+r-_binary64
32×*-rgt-identity_binary64 associate-*l*_binary64
31×*-lft-identity_binary64
27×distribute-frac-neg_binary64
22×associate-*r/_binary64
20×associate--l-_binary64
19×remove-double-neg_binary64
18×--rgt-identity_binary64 distribute-rgt1-in_binary64
17×sub0-neg_binary64
15×+-lft-identity_binary64
11×distribute-lft-out--_binary64
distribute-lft-out_binary64
log-prod_binary64 /-rgt-identity_binary64 div0_binary64
count-2_binary64
+-rgt-identity_binary64 distribute-lft1-in_binary64
1-exp_binary64 mul-1-neg_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 times-frac_binary64 *-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
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01320
12320
24620
37820
415420
526220
632720
733520
839120
952720
10124820
11131620
12179820
13251920
14286620
15301020
16290820
17290420
18291620
19292820
20293220
21286820
22286820
23286820
24353420
25295820
26295820
27295820
28525420

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 13 to 12 computations (7.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 y (exp.f64 z))
0.0b
(/.f64 (log.f64 (+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z)))) t)
1.4b
(log.f64 (+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z))))
1.9b
(+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z)))

rewrite173.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
11.4b
Rules
19×add-sqr-sqrt_binary64
17×add-cube-cbrt_binary64 *-un-lft-identity_binary64
12×times-frac_binary64
11×pow1_binary64
add-log-exp_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
log-pow_binary64
associate-+l+_binary64 log-div_binary64 associate-/l*_binary64
flip3-+_binary64 flip-+_binary64 cancel-sign-sub-inv_binary64 log-prod_binary64 associate-/r*_binary64 associate-*l*_binary64 associate-*r*_binary64
sum-log_binary64 div-sub_binary64
diff-log_binary64 associate-+l-_binary64 sub-neg_binary64 +-commutative_binary64 rem-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64
Counts
4 → 82
Calls

4 calls:

8.0ms
(/.f64 (log.f64 (+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z)))) t)
7.0ms
(+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z)))
6.0ms
(log.f64 (+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z))))
5.0ms
(*.f64 y (exp.f64 z))
Compiler

Compiled 1679 to 838 computations (50.1% saved)

series212.0ms (2.3%)

Error
0.7b
Counts
4 → 45
Calls

4 calls:

82.0ms
(/.f64 (log.f64 (+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z)))) t)
43.0ms
(log.f64 (+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z))))
22.0ms
(+.f64 (-.f64 1 y) (*.f64 y (exp.f64 z)))
17.0ms
(*.f64 y (exp.f64 z))
Compiler

Compiled 2186 to 1712 computations (21.7% saved)

simplify132.0ms (1.4%)

Algorithm
egg-herbie
Rules
490×associate-/l*_binary64
367×cancel-sign-sub-inv_binary64
313×distribute-rgt-in_binary64
255×distribute-lft-in_binary64
191×sub-neg_binary64
151×associate-*r*_binary64
129×distribute-rgt-neg-in_binary64
127×associate-/r/_binary64
125×associate-*l*_binary64
119×+-commutative_binary64
113×distribute-rgt-out_binary64
108×distribute-lft-neg-in_binary64
101×*-commutative_binary64
87×unswap-sqr_binary64
83×distribute-neg-in_binary64
80×associate-+r+_binary64
72×associate-/l/_binary64 associate-+l+_binary64
64×neg-mul-1_binary64 neg-sub0_binary64
52×associate--l+_binary64
48×distribute-lft-out_binary64 associate--r+_binary64
47×log-prod_binary64
44×exp-prod_binary64
42×unsub-neg_binary64 distribute-neg-frac_binary64
35×sqr-pow_binary64
29×distribute-rgt-out--_binary64
27×distribute-lft-neg-out_binary64
25×associate-/r*_binary64
24×*-rgt-identity_binary64
23×times-frac_binary64 associate-*l/_binary64
21×associate-*r/_binary64
17×*-lft-identity_binary64
15×distribute-rgt1-in_binary64
13×cube-prod_binary64
12×prod-exp_binary64 exp-sum_binary64 distribute-rgt-neg-out_binary64
11×swap-sqr_binary64
10×div-sub_binary64
distribute-lft1-in_binary64 distribute-lft-out--_binary64
log-div_binary64
exp-diff_binary64 /-rgt-identity_binary64
log-pow_binary64 associate-+l-_binary64
unpow3_binary64 cube-unmult_binary64
cube-mult_binary64 associate--r-_binary64 associate-+r-_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 mul-1-neg_binary64 remove-double-neg_binary64 count-2_binary64
div-exp_binary64 rem-sqrt-square_binary64 +-rgt-identity_binary64 distribute-frac-neg_binary64
log-rec_binary64 1-exp_binary64 exp-1-e_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-squares_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 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 rec-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 cube-neg_binary64 rem-3cbrt-rft_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 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64
Counts
127 → 95
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02742884
16802707
221182636
349912636
450042636

prune135.0ms (1.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New88795
Fresh000
Picked101
Done000
Total89796
Error
0.3b
Counts
96 → 7
Compiler

Compiled 1918 to 1044 computations (45.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

5.4b
(*.f64 (/.f64 y t) z)

rewrite57.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
14×add-sqr-sqrt_binary64
13×associate-*l*_binary64
10×times-frac_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64 associate-*r*_binary64
prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64
pow-prod-down_binary64 div-exp_binary64 add-log-exp_binary64 cbrt-undiv_binary64 associate-*l/_binary64 div-inv_binary64 *-commutative_binary64
Counts
1 → 32
Calls

1 calls:

6.0ms
(*.f64 (/.f64 y t) z)
Compiler

Compiled 419 to 147 computations (64.9% saved)

series26.0ms (0.3%)

Error
0.3b
Counts
1 → 9
Calls

1 calls:

25.0ms
(*.f64 (/.f64 y t) z)
Compiler

Compiled 133 to 133 computations (0% saved)

simplify104.0ms (1.1%)

Algorithm
egg-herbie
Rules
516×times-frac_binary64
449×sqr-pow_binary64
397×unsub-neg_binary64
279×sub-neg_binary64
273×cancel-sign-sub-inv_binary64
270×pow-sqr_binary64
260×associate--r-_binary64
244×distribute-rgt-in_binary64
232×associate-/l/_binary64
230×associate-/r*_binary64
208×associate-*l*_binary64 associate--l-_binary64
182×associate-*l/_binary64
178×unswap-sqr_binary64
168×*-commutative_binary64
167×associate-/r/_binary64
148×distribute-neg-in_binary64
145×associate-/l*_binary64
142×associate-*r*_binary64
130×associate-*r/_binary64
125×distribute-lft-in_binary64
105×rem-sqrt-square_binary64
87×neg-mul-1_binary64
82×neg-sub0_binary64
65×associate-+r+_binary64
63×associate-+l+_binary64
44×*-rgt-identity_binary64 *-lft-identity_binary64
43×associate--r+_binary64
40×+-commutative_binary64
37×associate--l+_binary64
32×associate-+r-_binary64
29×exp-prod_binary64
27×associate-+l-_binary64
23×log-prod_binary64 swap-sqr_binary64
22×cube-prod_binary64
20×log-div_binary64
19×cube-div_binary64 +-lft-identity_binary64 distribute-lft-neg-out_binary64
17×+-rgt-identity_binary64
15×distribute-rgt-neg-in_binary64
12×remove-double-neg_binary64
11×distribute-lft-neg-in_binary64
distribute-rgt-neg-out_binary64 distribute-rgt-out_binary64
/-rgt-identity_binary64
unpow1/2_binary64 sub0-neg_binary64
unpow3_binary64 cube-mult_binary64 --rgt-identity_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64
log-rec_binary64 cube-unmult_binary64
distribute-neg-out_binary64 distribute-rgt1-in_binary64
mul-1-neg_binary64 distribute-lft1-in_binary64
1-exp_binary64 exp-1-e_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow2_binary64 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 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 div-sub_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64
Counts
41 → 26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069426
1152378
2384378
31117378
42179378
52656378
63046378
73904378
84615378
95201378

prune42.0ms (0.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New25126
Fresh066
Picked101
Done000
Total26733
Error
0.3b
Counts
33 → 7
Compiler

Compiled 481 to 247 computations (48.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

6.0b
(*.f64 y (/.f64 z t))

rewrite55.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
14×add-sqr-sqrt_binary64
13×associate-*r*_binary64
10×times-frac_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64 associate-*l*_binary64
prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64
pow-prod-down_binary64 div-exp_binary64 add-log-exp_binary64 cbrt-undiv_binary64 associate-*r/_binary64 div-inv_binary64 *-commutative_binary64
Counts
1 → 32
Calls

1 calls:

7.0ms
(*.f64 y (/.f64 z t))
Compiler

Compiled 419 to 147 computations (64.9% saved)

series26.0ms (0.3%)

Error
0.3b
Counts
1 → 9
Calls

1 calls:

25.0ms
(*.f64 y (/.f64 z t))
Compiler

Compiled 133 to 133 computations (0% saved)

simplify113.0ms (1.2%)

Algorithm
egg-herbie
Rules
550×unsub-neg_binary64
443×unswap-sqr_binary64
384×associate-/l/_binary64
375×distribute-rgt-in_binary64
359×distribute-neg-in_binary64
349×sub-neg_binary64
337×sqr-pow_binary64
299×associate--l+_binary64
297×cancel-sign-sub-inv_binary64
286×associate-/r*_binary64
284×associate-/r/_binary64
225×associate-*l*_binary64
201×*-commutative_binary64
196×associate-*r/_binary64
193×associate-*l/_binary64
191×pow-sqr_binary64
172×associate-+l-_binary64
168×associate-/l*_binary64
162×associate-*r*_binary64
110×associate--l-_binary64
109×neg-sub0_binary64
106×neg-mul-1_binary64
93×times-frac_binary64
84×*-rgt-identity_binary64
82×associate-+l+_binary64
80×rem-sqrt-square_binary64 associate--r-_binary64
70×distribute-neg-out_binary64
67×*-lft-identity_binary64
63×associate-+r-_binary64
60×distribute-rgt-neg-in_binary64
58×associate-+r+_binary64
55×distribute-lft-in_binary64
51×distribute-lft-neg-out_binary64
41×distribute-rgt-out--_binary64
35×distribute-lft-neg-in_binary64
32×associate--r+_binary64
26×+-rgt-identity_binary64
25×+-commutative_binary64
24×distribute-rgt-neg-out_binary64
23×remove-double-neg_binary64
22×/-rgt-identity_binary64
19×log-div_binary64 log-prod_binary64
18×exp-prod_binary64 distribute-lft-out--_binary64
16×distribute-rgt-out_binary64
15×cube-div_binary64 cancel-sign-sub_binary64
13×swap-sqr_binary64
12×cube-prod_binary64
sub0-neg_binary64 distribute-lft-out_binary64
unpow3_binary64
unpow1/2_binary64 cube-mult_binary64 distribute-rgt1-in_binary64
cube-unmult_binary64 mul-1-neg_binary64 --rgt-identity_binary64 distribute-lft1-in_binary64
log-rec_binary64 remove-double-div_binary64
+-lft-identity_binary64 +-inverses_binary64
1-exp_binary64 exp-1-e_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow2_binary64 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 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 div-sub_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64
Counts
41 → 21
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
070435
1160390
2524390
31313390
42188390
52511390
63496390
73853390
84216390
95386390

prune25.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New21021
Fresh066
Picked011
Done000
Total21728
Error
0.3b
Counts
28 → 7
Compiler

Compiled 360 to 205 computations (43.1% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(pow.f64 (exp.f64 z) 2)
0.7b
(/.f64 (-.f64 (*.f64 (exp.f64 z) (+.f64 y (*.f64 y y))) (+.f64 y (*.f64 (*.f64 y y) (+.f64 1/2 (*.f64 1/2 (pow.f64 (exp.f64 z) 2)))))) t)
3.0b
(*.f64 (exp.f64 z) (+.f64 y (*.f64 y y)))
7.2b
(-.f64 (*.f64 (exp.f64 z) (+.f64 y (*.f64 y y))) (+.f64 y (*.f64 (*.f64 y y) (+.f64 1/2 (*.f64 1/2 (pow.f64 (exp.f64 z) 2))))))

rewrite244.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
20×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
10×associate-*r/_binary64
add-log-exp_binary64 flip3-+_binary64 flip-+_binary64 times-frac_binary64
add-cbrt-cube_binary64 frac-sub_binary64
pow1_binary64 add-exp-log_binary64
associate-/l/_binary64
associate-*r*_binary64
pow-pow_binary64
cancel-sign-sub-inv_binary64 associate-*l*_binary64 associate-/l*_binary64 associate-/r*_binary64 unpow-prod-down_binary64 pow-unpow_binary64 exp-prod_binary64
diff-log_binary64 flip3--_binary64 flip--_binary64 distribute-rgt-in_binary64 associate--l+_binary64 distribute-lft-in_binary64
sum-log_binary64 sub-neg_binary64 associate--r+_binary64 pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 distribute-rgt1-in_binary64 distribute-rgt-out_binary64 *-commutative_binary64 div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 div-sub_binary64 clear-num_binary64 div-inv_binary64 pow-to-exp_binary64 pow-exp_binary64 unpow2_binary64 sqr-pow_binary64
Counts
4 → 101
Calls

4 calls:

12.0ms
(/.f64 (-.f64 (*.f64 (exp.f64 z) (+.f64 y (*.f64 y y))) (+.f64 y (*.f64 (*.f64 y y) (+.f64 1/2 (*.f64 1/2 (pow.f64 (exp.f64 z) 2)))))) t)
10.0ms
(-.f64 (*.f64 (exp.f64 z) (+.f64 y (*.f64 y y))) (+.f64 y (*.f64 (*.f64 y y) (+.f64 1/2 (*.f64 1/2 (pow.f64 (exp.f64 z) 2))))))
7.0ms
(*.f64 (exp.f64 z) (+.f64 y (*.f64 y y)))
4.0ms
(pow.f64 (exp.f64 z) 2)
Compiler

Compiled 4731 to 2079 computations (56.1% saved)

series310.0ms (3.4%)

Error
0.3b
Counts
4 → 43
Calls

4 calls:

145.0ms
(/.f64 (-.f64 (*.f64 (exp.f64 z) (+.f64 y (*.f64 y y))) (+.f64 y (*.f64 (*.f64 y y) (+.f64 1/2 (*.f64 1/2 (pow.f64 (exp.f64 z) 2)))))) t)
73.0ms
(-.f64 (*.f64 (exp.f64 z) (+.f64 y (*.f64 y y))) (+.f64 y (*.f64 (*.f64 y y) (+.f64 1/2 (*.f64 1/2 (pow.f64 (exp.f64 z) 2))))))
36.0ms
(*.f64 (exp.f64 z) (+.f64 y (*.f64 y y)))
9.0ms
(pow.f64 (exp.f64 z) 2)
Compiler

Compiled 2899 to 2091 computations (27.9% saved)

simplify191.0ms (2.1%)

Algorithm
egg-herbie
Rules
261×associate-*l*_binary64
239×sub-neg_binary64
233×associate-*r*_binary64
203×distribute-rgt-in_binary64
202×div-sub_binary64
198×unswap-sqr_binary64
193×exp-prod_binary64
190×distribute-lft-in_binary64
179×*-commutative_binary64
127×+-commutative_binary64
98×associate-/l*_binary64
91×associate-+r+_binary64
89×associate-+l+_binary64
88×neg-mul-1_binary64 neg-sub0_binary64 cancel-sign-sub-inv_binary64
80×log-prod_binary64
71×sqr-pow_binary64
68×associate--r+_binary64
66×associate--l+_binary64
61×times-frac_binary64
47×unsub-neg_binary64
40×distribute-rgt-neg-in_binary64
39×cube-prod_binary64
37×distribute-neg-in_binary64
35×exp-sum_binary64
28×distribute-lft-neg-in_binary64 distribute-rgt-out_binary64
27×unpow3_binary64
20×*-lft-identity_binary64 associate-/r/_binary64
19×associate-*l/_binary64 associate-*r/_binary64
18×prod-exp_binary64
17×*-rgt-identity_binary64
16×log-pow_binary64 pow-plus_binary64 exp-diff_binary64
15×associate-/l/_binary64
14×difference-of-squares_binary64 associate-/r*_binary64
13×distribute-lft-neg-out_binary64
12×pow-sqr_binary64
11×/-rgt-identity_binary64
10×unpow1/2_binary64
log-div_binary64 cube-unmult_binary64 cube-mult_binary64 distribute-rgt1-in_binary64
swap-sqr_binary64
unpow2_binary64 unpow1_binary64 distribute-rgt-out--_binary64
cube-div_binary64 distribute-lft-out_binary64
rem-sqrt-square_binary64 mul-1-neg_binary64 associate-+r-_binary64
div-exp_binary64 remove-double-neg_binary64
log-rec_binary64 rem-square-sqrt_binary64 +-rgt-identity_binary64 difference-of-sqr-1_binary64 distribute-neg-frac_binary64 associate--r-_binary64 associate-+l-_binary64
rec-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-log-exp_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 sub0-neg_binary64 difference-of-sqr--1_binary64 distribute-rgt-neg-out_binary64 distribute-lft1-in_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 unpow1/3_binary64 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-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_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-frac-neg_binary64 distribute-neg-out_binary64 distribute-lft-out--_binary64 count-2_binary64 associate--l-_binary64
Counts
144 → 118
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03035346
19064919
234234841
347574841
449774841

prune170.0ms (1.8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1162118
Fresh235
Picked011
Done011
Total1187125
Error
0.3b
Counts
125 → 7
Compiler

Compiled 3812 to 1897 computations (50.2% saved)

regimes2.6s (27.8%)

Accuracy

Total 7.9b remaining (97.7%)

Threshold costs 0b (0%)

Compiler

Compiled 22533 to 18117 computations (19.6% saved)

bsearch5.0ms (0.1%)

Compiler

Compiled 8 to 9 computations (-12.5% saved)

simplify19.0ms (0.2%)

Algorithm
egg-herbie
Rules
86×distribute-rgt-neg-in_binary64
63×cancel-sign-sub-inv_binary64
61×distribute-lft-neg-in_binary64
51×distribute-neg-in_binary64
49×neg-mul-1_binary64 neg-sub0_binary64
38×distribute-lft-neg-out_binary64
31×sub-neg_binary64 distribute-rgt-neg-out_binary64 +-commutative_binary64
27×*-commutative_binary64
21×unsub-neg_binary64
18×remove-double-neg_binary64
distribute-neg-frac_binary64
distribute-neg-out_binary64
1-exp_binary64 sqr-neg_binary64 distribute-frac-neg_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 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041113
167113
2103113
3139113
4174113
5208113
6243113
7302113
8371113
9419113
10444113
11455113
12457113
13451113

end2.0ms (0%)

Compiler

Compiled 73 to 43 computations (41.1% saved)

sample2.9s (31.3%)

Algorithm
intervals
Results
825.0ms1820×body1024valid
364.0ms1390×body512valid
296.0ms3746×body128valid
265.0ms290×body2048valid
120.0ms754×body256valid
77.0ms1565×body128nan
63.0ms215×body1024nan
51.0ms839×body128overflowed
49.0ms254×body512nan
20.0ms174×body256nan
1.0ms18×body128invalid
0.0msbody1024invalid
Compiler

Compiled 303 to 231 computations (23.8% saved)

Profiling

Loading profile data...