Details

Time bar (total: 8.4s)

analyze1.2s (14.2%)

Algorithm
search
egg-herbie
Rules
539×associate--r+_binary64
527×cancel-sign-sub-inv_binary64
466×associate-+r+_binary64
420×sub-neg_binary64
386×unsub-neg_binary64
384×+-commutative_binary64
336×associate-+l+_binary64
309×associate--l+_binary64
305×distribute-neg-in_binary64
288×associate--r-_binary64
218×neg-mul-1_binary64 distribute-neg-out_binary64
175×neg-sub0_binary64
126×distribute-rgt-in_binary64
115×associate-+r-_binary64
94×distribute-rgt-neg-in_binary64
70×distribute-lft-in_binary64
65×--rgt-identity_binary64
59×associate-+l-_binary64
56×remove-double-neg_binary64
54×distribute-lft-neg-in_binary64
51×*-commutative_binary64
46×distribute-lft-neg-out_binary64
45×associate-*r*_binary64
43×sub0-neg_binary64
41×+-rgt-identity_binary64
30×associate--l-_binary64
20×distribute-rgt1-in_binary64
18×log-prod_binary64 mul0-rgt_binary64 mul0-lft_binary64
16×distribute-rgt-neg-out_binary64
10×associate-*l*_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 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 div-sub_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 +-lft-identity_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
094384
1274384
21043384
32782384
44384384
54561384
64998384
74964384
066
166
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%74.8%25.2%5
0%74.8%25.2%6
0%74.8%25.2%7
0%74.8%25.2%8
0%74.8%25.2%9
0%62.3%37.7%10
0%56.1%43.9%11
0%56.1%43.9%12
1.6%54.5%43.9%13
2.4%53.7%43.9%14
Symmetry

(sort x y)

Compiler

Compiled 17 to 16 computations (5.9% saved)

sample49.0ms (0.6%)

Algorithm
intervals
Results
15.0ms256×body128valid
3.0ms42×body128invalid
2.0ms33×body128nan
Compiler

Compiled 33 to 37 computations (-12.1% saved)

simplify456.0ms (5.4%)

Algorithm
egg-herbie
Rules
1270×associate--r-_binary64
946×sub-neg_binary64
658×unsub-neg_binary64
445×+-commutative_binary64
391×distribute-neg-in_binary64
370×distribute-rgt-in_binary64
310×associate--l-_binary64
255×neg-sub0_binary64
231×associate--l+_binary64
224×distribute-neg-out_binary64
221×neg-mul-1_binary64
210×*-commutative_binary64
181×associate-+l-_binary64
172×distribute-lft-out--_binary64
167×associate--r+_binary64
157×distribute-rgt-neg-in_binary64
146×distribute-lft-neg-in_binary64
138×distribute-lft-neg-out_binary64 associate-+r+_binary64
131×cancel-sign-sub-inv_binary64
128×associate-+l+_binary64
116×remove-double-neg_binary64
104×cancel-sign-sub_binary64
93×associate-+r-_binary64
89×distribute-lft-in_binary64
77×distribute-rgt-out--_binary64
68×*-lft-identity_binary64
62×mul-1-neg_binary64
59×sub0-neg_binary64 associate-*l*_binary64
43×distribute-rgt-neg-out_binary64
34×distribute-rgt-out_binary64
30×+-rgt-identity_binary64
26×distribute-lft-out_binary64
18×*-rgt-identity_binary64 associate-*r*_binary64
14×--rgt-identity_binary64
12×mul0-rgt_binary64 mul0-lft_binary64
distribute-rgt1-in_binary64
1-exp_binary64 +-lft-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 log-pow_binary64 log-rec_binary64 log-div_binary64 log-prod_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 times-frac_binary64 div-sub_binary64 /-rgt-identity_binary64 div0_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-neg-frac_binary64 distribute-frac-neg_binary64 distribute-lft1-in_binary64 count-2_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01624
13524
29724
324924
468424
5163824
6204524
7275824
8307424
9321624
10300024
11300424
12310024
13339824
14349124
15349724
16349724
17350324
18350924
19350924
20352724
21351124
22351124
23453924
24378024
25376524
26376524
27376524
28376524
29370124

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 16 to 15 computations (6.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
0.0b
(*.f64 (-.f64 a 1/2) b)
0.1b
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
0.2b
(*.f64 z (log.f64 t))

rewrite170.0ms (2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
27×add-log-exp_binary64
18×add-sqr-sqrt_binary64
14×*-un-lft-identity_binary64
12×add-cube-cbrt_binary64 log-prod_binary64
10×sum-log_binary64
pow1_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-*l*_binary64
associate-*r*_binary64
distribute-rgt-in_binary64 distribute-lft-in_binary64 diff-log_binary64 flip3--_binary64 flip--_binary64 associate--r+_binary64 associate-*l/_binary64
frac-add_binary64
associate-+l+_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64 associate--l+_binary64
log-pow_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 flip3-+_binary64 flip-+_binary64 associate-+l-_binary64 +-commutative_binary64
Counts
4 → 90
Calls

4 calls:

13.0ms
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
9.0ms
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
6.0ms
(*.f64 (-.f64 a 1/2) b)
5.0ms
(*.f64 z (log.f64 t))
Compiler

Compiled 2289 to 756 computations (67% saved)

series314.0ms (3.7%)

Error
0.0b
Counts
4 → 69
Calls

4 calls:

143.0ms
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
77.0ms
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
32.0ms
(*.f64 z (log.f64 t))
21.0ms
(*.f64 (-.f64 a 1/2) b)
Compiler

Compiled 2220 to 1856 computations (16.4% saved)

simplify135.0ms (1.6%)

Algorithm
egg-herbie
Rules
439×associate--l+_binary64
263×associate--r+_binary64
232×exp-diff_binary64
193×distribute-rgt-in_binary64
187×distribute-lft-in_binary64
173×sub-neg_binary64
141×associate-*l*_binary64
135×distribute-rgt-neg-in_binary64
129×exp-prod_binary64
126×*-commutative_binary64
124×associate-*r*_binary64
115×associate-+r-_binary64
104×associate-+l-_binary64 associate-+l+_binary64
98×+-commutative_binary64
92×distribute-lft-neg-in_binary64
85×distribute-lft-neg-out_binary64
80×distribute-neg-in_binary64
70×exp-sum_binary64
68×associate--r-_binary64
67×associate-+r+_binary64
66×cancel-sign-sub-inv_binary64
63×log-prod_binary64 distribute-rgt-neg-out_binary64
57×neg-sub0_binary64
55×unsub-neg_binary64
52×neg-mul-1_binary64
44×distribute-rgt-out_binary64
38×div-exp_binary64
34×sqr-pow_binary64
32×prod-exp_binary64
28×cube-prod_binary64
27×*-rgt-identity_binary64 associate-/l*_binary64
25×cancel-sign-sub_binary64 distribute-rgt-out--_binary64 distribute-lft-out_binary64
24×*-lft-identity_binary64
20×associate--l-_binary64
19×times-frac_binary64
16×unswap-sqr_binary64
13×unpow3_binary64
12×swap-sqr_binary64
10×exp-to-pow_binary64 associate-*l/_binary64 associate-*r/_binary64
distribute-rgt1-in_binary64 associate-/r*_binary64
associate-/r/_binary64
remove-double-neg_binary64 +-rgt-identity_binary64
cube-mult_binary64 mul-1-neg_binary64 distribute-lft-out--_binary64
unpow1/2_binary64 sub0-neg_binary64 difference-of-squares_binary64
distribute-neg-out_binary64
log-div_binary64 pow-sqr_binary64 count-2_binary64 associate-/l/_binary64
log-rec_binary64 rec-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-neg_binary64 sqr-neg_binary64 +-inverses_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 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow2_binary64 pow-plus_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-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 div-sub_binary64 /-rgt-identity_binary64 --rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64
Counts
159 → 132
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02442944
16182798
225462736
347672736
452192736

prune114.0ms (1.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1257132
Fresh000
Picked101
Done000
Total1267133
Error
0.0b
Counts
133 → 7
Compiler

Compiled 1996 to 781 computations (60.9% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 z (log.f64 (cbrt.f64 t)))
0.3b
(+.f64 (*.f64 z (*.f64 2 (log.f64 (cbrt.f64 t)))) (*.f64 z (log.f64 (cbrt.f64 t))))
0.6b
(cbrt.f64 t)
0.6b
(cbrt.f64 t)

rewrite215.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
48×log-prod_binary64
36×distribute-rgt-in_binary64 distribute-lft-in_binary64
30×cbrt-prod_binary64
26×add-sqr-sqrt_binary64
24×add-cube-cbrt_binary64 *-un-lft-identity_binary64 associate-+l+_binary64
12×associate-+r+_binary64
pow1_binary64
add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
associate-*r*_binary64
pow1/3_binary64 associate-*l*_binary64
log-pow_binary64
sum-log_binary64 flip3-+_binary64 flip-+_binary64 distribute-lft-out_binary64 +-commutative_binary64 pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64
Counts
4 → 102
Calls

4 calls:

12.0ms
(+.f64 (*.f64 z (*.f64 2 (log.f64 (cbrt.f64 t)))) (*.f64 z (log.f64 (cbrt.f64 t))))
5.0ms
(*.f64 z (log.f64 (cbrt.f64 t)))
1.0ms
(cbrt.f64 t)
1.0ms
(cbrt.f64 t)
Compiler

Compiled 3275 to 1263 computations (61.4% saved)

series172.0ms (2%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

59.0ms
(+.f64 (*.f64 z (*.f64 2 (log.f64 (cbrt.f64 t)))) (*.f64 z (log.f64 (cbrt.f64 t))))
58.0ms
(*.f64 z (log.f64 (cbrt.f64 t)))
21.0ms
(cbrt.f64 t)
18.0ms
(cbrt.f64 t)
Compiler

Compiled 1147 to 967 computations (15.7% saved)

simplify154.0ms (1.8%)

Algorithm
egg-herbie
Rules
415×log-prod_binary64
404×cancel-sign-sub-inv_binary64
364×distribute-rgt-out_binary64
330×*-commutative_binary64
302×distribute-rgt-neg-in_binary64
251×distribute-lft-neg-in_binary64
184×associate-*l*_binary64
183×exp-prod_binary64
176×distribute-rgt-in_binary64
165×exp-sum_binary64
154×distribute-lft-in_binary64 associate-*r*_binary64
127×distribute-neg-in_binary64
115×log-div_binary64 associate--l+_binary64
111×distribute-lft-out_binary64
93×sqr-pow_binary64
91×distribute-rgt-out--_binary64 count-2_binary64
89×log-pow_binary64
85×cube-prod_binary64
75×swap-sqr_binary64
70×exp-to-pow_binary64
68×unswap-sqr_binary64
64×sub-neg_binary64
62×+-commutative_binary64
47×neg-sub0_binary64
46×neg-mul-1_binary64 distribute-lft-neg-out_binary64
43×distribute-lft-out--_binary64 associate-/r*_binary64
39×*-lft-identity_binary64
33×associate-/l*_binary64
31×exp-diff_binary64
26×*-rgt-identity_binary64 associate-+l+_binary64
25×distribute-rgt1-in_binary64
22×associate-+r+_binary64
20×distribute-rgt-neg-out_binary64 associate--r-_binary64
19×log-rec_binary64 unpow3_binary64
17×pow-sqr_binary64
16×associate-/l/_binary64
14×unsub-neg_binary64
13×distribute-lft1-in_binary64
10×cube-mult_binary64
div-sub_binary64
unpow1/3_binary64
prod-exp_binary64 associate-+r-_binary64
exp-lft-sqr_binary64 +-rgt-identity_binary64 associate-*r/_binary64 associate-+l-_binary64
unpow1/2_binary64 cube-unmult_binary64 associate--l-_binary64
pow-plus_binary64 rem-sqrt-square_binary64 difference-of-squares_binary64
exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 exp-neg_binary64 sub0-neg_binary64 associate--r+_binary64
associate-/r/_binary64
log-E_binary64 exp-lft-cube_binary64 1-exp_binary64 exp-1-e_binary64 rem-exp-log_binary64 rem-3cbrt-lft_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 remove-double-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 pow-base-0_binary64 unpow2_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-cbrt_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 times-frac_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 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 associate-*l/_binary64
Counts
120 → 94
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01581701
13031540
210301398
324081390
443001320
548751320
650741320

prune143.0ms (1.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New91394
Fresh336
Picked101
Done000
Total956101
Error
0b
Counts
101 → 6
Compiler

Compiled 2134 to 960 computations (55% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (pow.f64 t 1/6) (pow.f64 t 1/6))
0.6b
(cbrt.f64 t)
4.1b
(pow.f64 t 1/6)
4.1b
(pow.f64 t 1/6)

rewrite214.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
29×add-sqr-sqrt_binary64
24×unpow-prod-down_binary64
18×add-exp-log_binary64
17×add-cube-cbrt_binary64 *-un-lft-identity_binary64
12×sqr-pow_binary64
prod-exp_binary64 unswap-sqr_binary64
pow-to-exp_binary64 pow-exp_binary64
swap-sqr_binary64 associate-*l*_binary64 associate-*r*_binary64
pow-unpow_binary64 pow1_binary64 add-cbrt-cube_binary64
add-log-exp_binary64
cbrt-prod_binary64
pow-pow_binary64
pow1/3_binary64 pow2_binary64 pow-prod-down_binary64 pow-prod-up_binary64 cbrt-unprod_binary64 pow-sqr_binary64 *-commutative_binary64
Counts
4 → 97
Calls

4 calls:

8.0ms
(*.f64 (pow.f64 t 1/6) (pow.f64 t 1/6))
3.0ms
(pow.f64 t 1/6)
2.0ms
(pow.f64 t 1/6)
1.0ms
(cbrt.f64 t)
Compiler

Compiled 3119 to 1723 computations (44.8% saved)

series80.0ms (1%)

Error
0b
Counts
4 → 12
Calls

4 calls:

19.0ms
(pow.f64 t 1/6)
18.0ms
(*.f64 (pow.f64 t 1/6) (pow.f64 t 1/6))
18.0ms
(cbrt.f64 t)
17.0ms
(pow.f64 t 1/6)
Compiler

Compiled 984 to 808 computations (17.9% saved)

simplify90.0ms (1.1%)

Algorithm
egg-herbie
Rules
574×log-div_binary64
478×distribute-rgt-in_binary64
456×distribute-lft-in_binary64
411×associate-/r*_binary64
266×associate-/l/_binary64
178×distribute-rgt-neg-in_binary64
167×log-prod_binary64
166×unswap-sqr_binary64 distribute-lft-neg-in_binary64
132×*-commutative_binary64
108×sqr-pow_binary64
92×distribute-neg-in_binary64
78×exp-prod_binary64
76×associate-*l*_binary64
75×cancel-sign-sub-inv_binary64
74×associate-*r*_binary64
61×cube-prod_binary64
60×log-pow_binary64
47×pow-sqr_binary64 swap-sqr_binary64
46×distribute-rgt-out_binary64
43×exp-sum_binary64
39×neg-sub0_binary64
38×neg-mul-1_binary64
36×associate-/l*_binary64
29×sub-neg_binary64
27×pow-plus_binary64 distribute-lft-out_binary64
23×count-2_binary64
20×cube-unmult_binary64
17×associate-+r+_binary64
14×*-rgt-identity_binary64
13×rem-sqrt-square_binary64 *-lft-identity_binary64
12×exp-diff_binary64
11×div-sub_binary64
10×unsub-neg_binary64 associate-+l+_binary64
distribute-rgt1-in_binary64 associate-/r/_binary64
associate--r+_binary64
unpow1/3_binary64 +-lft-identity_binary64 +-commutative_binary64
unpow3_binary64 distribute-lft1-in_binary64
exp-to-pow_binary64 pow-base-1_binary64 exp-neg_binary64 distribute-rgt-neg-out_binary64
distribute-lft-neg-out_binary64 associate-*r/_binary64 associate--r-_binary64
log-rec_binary64 unpow1/2_binary64 rem-exp-log_binary64 rem-3cbrt-lft_binary64 sub0-neg_binary64 distribute-neg-out_binary64
unpow1_binary64 prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 cube-mult_binary64 rem-3cbrt-rft_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 remove-double-neg_binary64 +-rgt-identity_binary64 +-inverses_binary64 associate-+l-_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 unpow2_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 cube-neg_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 times-frac_binary64 /-rgt-identity_binary64 --rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_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 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate-*l/_binary64 associate--l-_binary64 associate--l+_binary64
Counts
109 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
097892
1155820
2548799
31455791
44800791
55520791

prune83.0ms (1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New74074
Fresh055
Picked011
Done000
Total74680
Error
0b
Counts
80 → 6
Compiler

Compiled 1353 to 751 computations (44.5% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(+.f64 (*.f64 z (*.f64 (log.f64 t) 5/6)) (*.f64 (log.f64 (sqrt.f64 (cbrt.f64 t))) z))
0.3b
(*.f64 z (*.f64 (log.f64 t) 5/6))
0.3b
(*.f64 (log.f64 t) 5/6)
0.6b
(cbrt.f64 t)

rewrite119.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
12×pow1_binary64
11×add-exp-log_binary64 add-cbrt-cube_binary64
10×add-sqr-sqrt_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64
associate-*l*_binary64
add-log-exp_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 associate-*r*_binary64
cbrt-prod_binary64
*-commutative_binary64
pow1/3_binary64 unswap-sqr_binary64 log-pow_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 +-commutative_binary64
Counts
4 → 59
Calls

4 calls:

6.0ms
(+.f64 (*.f64 z (*.f64 (log.f64 t) 5/6)) (*.f64 (log.f64 (sqrt.f64 (cbrt.f64 t))) z))
5.0ms
(*.f64 z (*.f64 (log.f64 t) 5/6))
4.0ms
(*.f64 (log.f64 t) 5/6)
1.0ms
(cbrt.f64 t)
Compiler

Compiled 1718 to 738 computations (57% saved)

series173.0ms (2.1%)

Error
0b
Counts
4 → 18
Calls

4 calls:

83.0ms
(+.f64 (*.f64 z (*.f64 (log.f64 t) 5/6)) (*.f64 (log.f64 (sqrt.f64 (cbrt.f64 t))) z))
33.0ms
(*.f64 z (*.f64 (log.f64 t) 5/6))
18.0ms
(cbrt.f64 t)
17.0ms
(*.f64 (log.f64 t) 5/6)
Compiler

Compiled 1333 to 1063 computations (20.3% saved)

simplify99.0ms (1.2%)

Algorithm
egg-herbie
Rules
371×cancel-sign-sub-inv_binary64
351×*-commutative_binary64
286×distribute-rgt-in_binary64
278×log-prod_binary64
269×distribute-lft-in_binary64
246×distribute-rgt-neg-out_binary64
240×distribute-neg-in_binary64
147×associate-*l*_binary64
141×associate-*r*_binary64
116×exp-sum_binary64
100×sub-neg_binary64
93×distribute-rgt-neg-in_binary64
90×sqr-pow_binary64
86×distribute-rgt-out_binary64
84×unsub-neg_binary64
80×exp-prod_binary64
79×distribute-lft-neg-in_binary64
73×log-div_binary64 unswap-sqr_binary64
69×neg-sub0_binary64
68×neg-mul-1_binary64
64×cube-prod_binary64
45×log-pow_binary64
40×swap-sqr_binary64
38×distribute-lft-out_binary64
36×associate-/r*_binary64
32×distribute-rgt-out--_binary64 associate-+l+_binary64
29×associate-+r+_binary64 +-commutative_binary64
25×exp-to-pow_binary64
19×exp-diff_binary64
17×distribute-lft-neg-out_binary64
16×associate-+r-_binary64
14×pow-sqr_binary64 associate--r+_binary64
12×*-rgt-identity_binary64
11×remove-double-neg_binary64 +-rgt-identity_binary64
10×log-rec_binary64
unpow3_binary64 associate--l+_binary64 associate-+l-_binary64
cube-unmult_binary64 *-lft-identity_binary64 distribute-lft-out--_binary64
cube-mult_binary64 div-sub_binary64
rem-sqrt-square_binary64 distribute-neg-out_binary64
exp-neg_binary64 sub0-neg_binary64
pow-plus_binary64 cube-neg_binary64 sqr-neg_binary64 distribute-frac-neg_binary64 count-2_binary64 associate--r-_binary64
difference-of-squares_binary64 associate-/l*_binary64
unpow1/3_binary64 rem-exp-log_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64
log-E_binary64 unpow1/2_binary64 rec-exp_binary64 prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 mul-1-neg_binary64 --rgt-identity_binary64 +-inverses_binary64 cancel-sign-sub_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 pow-base-0_binary64 unpow2_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 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 times-frac_binary64 /-rgt-identity_binary64 div0_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 distribute-neg-frac_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-*l/_binary64 associate-*r/_binary64 associate--l-_binary64
Counts
77 → 54
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01371056
1326878
2990864
32845861
44906861
55100861

prune61.0ms (0.7%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New54054
Fresh044
Picked011
Done011
Total54660
Error
0b
Counts
60 → 6
Compiler

Compiled 1010 to 430 computations (57.4% saved)

regimes2.9s (34.4%)

Accuracy

Total 0.1b remaining (75.1%)

Threshold costs 0.1b (75.1%)

Compiler

Compiled 37341 to 33321 computations (10.8% saved)

bsearch0.0ms (0%)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×+-commutative_binary64
11×*-commutative_binary64
sub-neg_binary64
neg-mul-1_binary64 neg-sub0_binary64
distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
unsub-neg_binary64 distribute-neg-in_binary64
1-exp_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 sqr-abs_binary64 sqr-neg_binary64 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-rgt-neg-out_binary64 distribute-lft-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02337
13837
24737
36637
48437
59437
69937
710037
89737

end10.0ms (0.1%)

Remove

(sort x y)

Compiler

Compiled 72 to 66 computations (8.3% saved)

sample1.4s (16.4%)

Algorithm
intervals
Results
501.0ms7994×body128valid
78.0ms1168×body128invalid
65.0ms1157×body128nan
1.0msbody1024valid
0.0msbody256valid
0.0msbody512valid
Compiler

Compiled 213 to 207 computations (2.8% saved)

Profiling

Loading profile data...