Details

Time bar (total: 7.7s)

analyze851.0ms (11%)

Algorithm
search
egg-herbie
Rules
1160×sub-neg_binary64
823×div-sub_binary64
449×neg-mul-1_binary64
443×cancel-sign-sub-inv_binary64
398×neg-sub0_binary64
364×distribute-neg-frac_binary64
350×*-commutative_binary64
333×associate-/l*_binary64
325×distribute-rgt-in_binary64
318×distribute-frac-neg_binary64
307×unsub-neg_binary64
288×times-frac_binary64
286×distribute-rgt-neg-out_binary64
231×distribute-lft-in_binary64
227×distribute-rgt-neg-in_binary64
225×associate-/r*_binary64
187×distribute-lft-neg-out_binary64 associate-+l-_binary64
178×associate-*l/_binary64
174×distribute-neg-in_binary64
143×+-lft-identity_binary64
129×remove-double-neg_binary64
113×associate--r+_binary64
107×distribute-lft-neg-in_binary64
96×associate-/r/_binary64
90×+-commutative_binary64
87×associate-*r*_binary64
79×associate-/l/_binary64
77×div0_binary64
76×*-lft-identity_binary64 associate-*r/_binary64
70×associate-+r-_binary64
69×associate-*l*_binary64 associate--r-_binary64
66×mul0-rgt_binary64 mul0-lft_binary64
62×cancel-sign-sub_binary64
57×sub0-neg_binary64
55×associate--l-_binary64
41×*-rgt-identity_binary64
40×+-rgt-identity_binary64 distribute-neg-out_binary64
38×associate--l+_binary64
31×associate-+l+_binary64
26×associate-+r+_binary64
24×--rgt-identity_binary64
17×/-rgt-identity_binary64
14×distribute-rgt-out--_binary64 distribute-lft-out_binary64
10×distribute-lft-out--_binary64
distribute-rgt-out_binary64
remove-double-div_binary64
1-exp_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 log-prod_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036112
166112
2146112
3314112
4520112
5992112
61882112
73797112
83605112
93748112
103883112
113981112
123981112
134500112
144680112
154881112
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
7.8%92%0.2%8
16.4%83.4%0.2%9
23.8%76%0.2%10
25.1%74.7%0.2%11
38.1%59.4%2.5%12
41.8%55.3%2.9%13
46.5%50.3%3.1%14
Compiler

Compiled 12 to 11 computations (8.3% saved)

sample24.0ms (0.3%)

Algorithm
intervals
Results
9.0ms256×body128valid
2.0ms54×body128invalid
Compiler

Compiled 23 to 25 computations (-8.7% saved)

simplify271.0ms (3.5%)

Algorithm
egg-herbie
Rules
1174×div-sub_binary64
414×associate-/l*_binary64
410×distribute-rgt-in_binary64
404×sub-neg_binary64
371×associate-/r/_binary64
370×associate-/l/_binary64
344×distribute-lft-in_binary64
327×unsub-neg_binary64
284×associate-/r*_binary64
249×cancel-sign-sub-inv_binary64
221×distribute-neg-frac_binary64
168×*-commutative_binary64
149×distribute-rgt-neg-out_binary64
135×distribute-lft-neg-out_binary64
133×distribute-rgt-neg-in_binary64
126×neg-mul-1_binary64
124×associate-*l/_binary64
109×distribute-lft-neg-in_binary64
103×neg-sub0_binary64
70×associate-*r*_binary64
65×associate-*l*_binary64
62×times-frac_binary64 distribute-frac-neg_binary64 associate--r+_binary64
61×mul0-rgt_binary64
57×mul0-lft_binary64 div0_binary64 associate-*r/_binary64
56×distribute-neg-in_binary64
51×associate-+l-_binary64
45×associate--r-_binary64
43×remove-double-neg_binary64
39×associate--l-_binary64 +-commutative_binary64
30×*-rgt-identity_binary64 associate-+r-_binary64
28×*-lft-identity_binary64
27×associate--l+_binary64
22×/-rgt-identity_binary64
20×remove-double-div_binary64
16×sub0-neg_binary64
13×associate-+l+_binary64 associate-+r+_binary64
12×cancel-sign-sub_binary64
--rgt-identity_binary64
distribute-neg-out_binary64
+-lft-identity_binary64
mul-1-neg_binary64
distribute-rgt-out--_binary64 distribute-lft-out_binary64
+-rgt-identity_binary64
1-exp_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 log-prod_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
11816
23316
36116
410316
517916
635716
771416
8126116
9145416
10144716
11137416
12137716
13141016
14149916
15192116
16159916
17162716
18164516
19166116
20165316
21165316
22165316
23171116
24166916
25166316
26166516
27166716
28166916
29166916
30148416

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 11 to 10 computations (9.1% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 t (-.f64 1 z))
4.3b
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 1 z))))

rewrite197.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
1.1b
Rules
79×add-sqr-sqrt_binary64
76×*-un-lft-identity_binary64
62×times-frac_binary64
48×cancel-sign-sub-inv_binary64
35×add-cube-cbrt_binary64
25×distribute-rgt-in_binary64 distribute-lft-in_binary64
24×difference-of-squares_binary64
14×distribute-lft-out--_binary64
10×associate-*r*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-/r/_binary64 associate-/r*_binary64
pow1_binary64 flip3--_binary64 flip--_binary64
div-inv_binary64 associate-*r/_binary64 associate-*l*_binary64 associate-/l*_binary64
add-log-exp_binary64 sub-neg_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 frac-sub_binary64 *-commutative_binary64 div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64
Counts
2 → 119
Calls

2 calls:

28.0ms
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 1 z))))
10.0ms
(/.f64 t (-.f64 1 z))
Compiler

Compiled 2298 to 1184 computations (48.5% saved)

series110.0ms (1.4%)

Error
0.1b
Counts
2 → 41
Calls

2 calls:

70.0ms
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 1 z))))
22.0ms
(/.f64 t (-.f64 1 z))
Compiler

Compiled 1061 to 742 computations (30.1% saved)

simplify141.0ms (1.8%)

Algorithm
egg-herbie
Rules
392×distribute-rgt-in_binary64
375×times-frac_binary64
237×distribute-lft-neg-out_binary64
231×distribute-rgt-neg-out_binary64
219×associate-*l*_binary64
203×associate-*r*_binary64
189×*-commutative_binary64
173×div-sub_binary64
167×neg-sub0_binary64
138×neg-mul-1_binary64
135×distribute-rgt-neg-in_binary64
128×associate-*l/_binary64
114×exp-prod_binary64
111×distribute-neg-frac_binary64
110×associate-*r/_binary64
101×cancel-sign-sub-inv_binary64
92×sub-neg_binary64
88×distribute-lft-neg-in_binary64
71×associate-/l*_binary64
66×*-rgt-identity_binary64
60×*-lft-identity_binary64 +-commutative_binary64
57×distribute-neg-in_binary64 distribute-rgt-out_binary64
48×distribute-lft-in_binary64
47×associate-/r*_binary64
40×distribute-frac-neg_binary64
37×unsub-neg_binary64
36×cube-prod_binary64
34×associate-/l/_binary64
31×log-prod_binary64
30×associate-+r+_binary64
29×exp-neg_binary64
28×sqr-pow_binary64
24×associate-+l+_binary64
18×exp-sum_binary64 associate-/r/_binary64
16×exp-diff_binary64 /-rgt-identity_binary64
14×distribute-lft-out_binary64
13×cube-div_binary64
12×associate--r+_binary64
10×distribute-rgt1-in_binary64
unpow3_binary64 swap-sqr_binary64
cube-unmult_binary64 distribute-neg-out_binary64
log-div_binary64 div0_binary64 unswap-sqr_binary64
distribute-rgt-out--_binary64
mul-1-neg_binary64
cube-mult_binary64 sqr-neg_binary64
rem-sqrt-square_binary64 difference-of-squares_binary64
unpow1/2_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64
log-pow_binary64 unpow2_binary64 pow-plus_binary64 unpow1_binary64 1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 remove-double-neg_binary64 +-rgt-identity_binary64 pow-sqr_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate-+r-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-rec_binary64 pow-base-0_binary64 unpow1/3_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_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 count-2_binary64 associate--l-_binary64 associate--l+_binary64 associate-+l-_binary64
Counts
160 → 115
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02513455
17003375
225182955
345002943
449722943

prune55.0ms (0.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1069115
Fresh000
Picked101
Done000
Total1079116
Error
1.8b
Counts
116 → 9
Compiler

Compiled 882 to 436 computations (50.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(cbrt.f64 (-.f64 1 z))
0.5b
(pow.f64 (cbrt.f64 (-.f64 1 z)) 3)
3.1b
(*.f64 x (neg.f64 (/.f64 t (pow.f64 (cbrt.f64 (-.f64 1 z)) 3))))
5.4b
(*.f64 x (/.f64 y z))

rewrite428.0ms (5.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
173×associate-*r*_binary64
154×times-frac_binary64
152×add-sqr-sqrt_binary64
145×*-un-lft-identity_binary64
100×add-cube-cbrt_binary64
90×cbrt-prod_binary64
78×distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
63×unpow-prod-down_binary64 cube-prod_binary64
30×difference-of-squares_binary64
15×distribute-lft-out--_binary64
12×add-exp-log_binary64
11×add-cbrt-cube_binary64
pow1_binary64
cbrt-div_binary64
unpow3_binary64 cube-mult_binary64 sqr-pow_binary64
associate-*l*_binary64 cube-div_binary64
add-log-exp_binary64 flip3--_binary64 associate-/r/_binary64 flip--_binary64
prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 div-inv_binary64 pow-unpow_binary64
pow-prod-down_binary64 associate-*r/_binary64 *-commutative_binary64 pow1/3_binary64 pow-pow_binary64
div-exp_binary64 cbrt-undiv_binary64 distribute-rgt-neg-out_binary64 distribute-neg-frac_binary64 neg-mul-1_binary64 pow-to-exp_binary64 pow-exp_binary64 rem-cube-cbrt_binary64
Counts
4 → 263
Calls

4 calls:

46.0ms
(*.f64 x (neg.f64 (/.f64 t (pow.f64 (cbrt.f64 (-.f64 1 z)) 3))))
7.0ms
(*.f64 x (/.f64 y z))
6.0ms
(pow.f64 (cbrt.f64 (-.f64 1 z)) 3)
3.0ms
(cbrt.f64 (-.f64 1 z))
Compiler

Compiled 5100 to 3037 computations (40.5% saved)

series137.0ms (1.8%)

Error
1.8b
Counts
4 → 37
Calls

4 calls:

39.0ms
(*.f64 x (neg.f64 (/.f64 t (pow.f64 (cbrt.f64 (-.f64 1 z)) 3))))
31.0ms
(pow.f64 (cbrt.f64 (-.f64 1 z)) 3)
30.0ms
(*.f64 x (/.f64 y z))
13.0ms
(cbrt.f64 (-.f64 1 z))
Compiler

Compiled 1467 to 1101 computations (24.9% saved)

simplify175.0ms (2.3%)

Algorithm
egg-herbie
Rules
305×log-prod_binary64
294×times-frac_binary64
273×associate-/r*_binary64
265×associate-*l*_binary64
241×unswap-sqr_binary64
239×associate-*r*_binary64
225×cancel-sign-sub-inv_binary64
185×*-commutative_binary64
160×associate-/l*_binary64
120×associate-*l/_binary64
119×associate-*r/_binary64
118×log-div_binary64
116×neg-sub0_binary64
115×div-sub_binary64
108×neg-mul-1_binary64
107×exp-prod_binary64
106×sub-neg_binary64
96×sqr-pow_binary64
80×*-rgt-identity_binary64
79×*-lft-identity_binary64
72×distribute-neg-frac_binary64
67×associate-/l/_binary64
61×swap-sqr_binary64
60×cube-prod_binary64 distribute-rgt-neg-out_binary64
48×distribute-lft-neg-in_binary64
46×distribute-rgt-neg-in_binary64
33×+-commutative_binary64
29×/-rgt-identity_binary64
24×log-pow_binary64
23×cube-div_binary64
19×associate-/r/_binary64
16×unpow3_binary64 pow-sqr_binary64
15×cube-mult_binary64
14×distribute-lft-neg-out_binary64
13×cube-unmult_binary64
11×associate-+l+_binary64 associate-+r+_binary64
10×rem-cube-cbrt_binary64 rem-sqrt-square_binary64
log-rec_binary64 unsub-neg_binary64 div0_binary64 distribute-neg-in_binary64
pow-plus_binary64 exp-sum_binary64 distribute-rgt-in_binary64
exp-diff_binary64 mul-1-neg_binary64 distribute-rgt-out_binary64 distribute-lft-out_binary64 associate--r+_binary64
distribute-lft-in_binary64
unpow1/3_binary64 prod-exp_binary64 remove-double-neg_binary64 distribute-rgt1-in_binary64
unpow1/2_binary64 unpow1_binary64 rem-cbrt-cube_binary64 sqr-neg_binary64 associate-+r-_binary64
unpow2_binary64 exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 distribute-lft1-in_binary64 associate--r-_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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 sqr-abs_binary64 sub0-neg_binary64 --rgt-identity_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 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 count-2_binary64 associate--l-_binary64 associate--l+_binary64
Counts
300 → 253
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03694119
18223788
234043738
348843738
451853738

prune210.0ms (2.7%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New2449253
Fresh448
Picked101
Done000
Total24913262
Error
0.0b
Counts
262 → 13
Compiler

Compiled 3435 to 1873 computations (45.5% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(cbrt.f64 (-.f64 1 z))
0.3b
(*.f64 (cbrt.f64 (-.f64 1 z)) (cbrt.f64 (-.f64 1 z)))
2.4b
(*.f64 (/.f64 x (cbrt.f64 (-.f64 1 z))) (neg.f64 (/.f64 t (*.f64 (cbrt.f64 (-.f64 1 z)) (cbrt.f64 (-.f64 1 z))))))
5.4b
(*.f64 x (/.f64 y z))

rewrite395.0ms (5.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
87×add-sqr-sqrt_binary64
72×*-un-lft-identity_binary64
57×cbrt-prod_binary64
56×associate-*r*_binary64
45×times-frac_binary64 associate-*l*_binary64
42×add-cube-cbrt_binary64
40×cbrt-div_binary64
20×flip3--_binary64 flip--_binary64
18×associate-/r/_binary64
16×add-exp-log_binary64 difference-of-squares_binary64
15×pow1_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
13×add-cbrt-cube_binary64 frac-times_binary64
11×swap-sqr_binary64
10×distribute-lft-out--_binary64
unswap-sqr_binary64
associate-*r/_binary64
associate-*l/_binary64 pow1/3_binary64
prod-exp_binary64 cbrt-unprod_binary64
pow-prod-down_binary64 add-log-exp_binary64 div-inv_binary64
*-commutative_binary64
div-exp_binary64 cbrt-undiv_binary64 distribute-neg-frac_binary64 pow-prod-up_binary64 pow-sqr_binary64
distribute-rgt-neg-out_binary64 neg-mul-1_binary64 pow2_binary64 pow-plus_binary64
Counts
4 → 194
Calls

4 calls:

36.0ms
(*.f64 (/.f64 x (cbrt.f64 (-.f64 1 z))) (neg.f64 (/.f64 t (*.f64 (cbrt.f64 (-.f64 1 z)) (cbrt.f64 (-.f64 1 z))))))
14.0ms
(*.f64 (cbrt.f64 (-.f64 1 z)) (cbrt.f64 (-.f64 1 z)))
7.0ms
(*.f64 x (/.f64 y z))
3.0ms
(cbrt.f64 (-.f64 1 z))
Compiler

Compiled 6246 to 3970 computations (36.4% saved)

series140.0ms (1.8%)

Error
0.0b
Counts
4 → 41
Calls

4 calls:

39.0ms
(*.f64 (/.f64 x (cbrt.f64 (-.f64 1 z))) (neg.f64 (/.f64 t (*.f64 (cbrt.f64 (-.f64 1 z)) (cbrt.f64 (-.f64 1 z))))))
32.0ms
(*.f64 x (/.f64 y z))
22.0ms
(*.f64 (cbrt.f64 (-.f64 1 z)) (cbrt.f64 (-.f64 1 z)))
14.0ms
(cbrt.f64 (-.f64 1 z))
Compiler

Compiled 2084 to 1583 computations (24% saved)

simplify220.0ms (2.9%)

Algorithm
egg-herbie
Rules
306×associate-*l*_binary64
254×associate-*r*_binary64
240×times-frac_binary64
231×associate-*r/_binary64
222×associate-/r*_binary64
220×distribute-neg-frac_binary64
209×*-commutative_binary64
205×log-prod_binary64
192×log-div_binary64
164×associate-*l/_binary64
161×associate-/l*_binary64
148×cancel-sign-sub-inv_binary64
144×neg-sub0_binary64
141×exp-prod_binary64
136×neg-mul-1_binary64
120×div-sub_binary64
108×sub-neg_binary64
77×/-rgt-identity_binary64
71×distribute-rgt-neg-out_binary64
59×*-lft-identity_binary64
58×distribute-frac-neg_binary64
55×*-rgt-identity_binary64 distribute-lft-neg-in_binary64
54×sqr-pow_binary64
51×cube-prod_binary64
42×swap-sqr_binary64
41×+-commutative_binary64
37×unpow3_binary64
35×distribute-rgt-neg-in_binary64
34×cube-mult_binary64
33×distribute-lft-neg-out_binary64
31×cube-div_binary64
24×exp-diff_binary64 unswap-sqr_binary64
22×exp-sum_binary64
20×associate-/l/_binary64
18×log-pow_binary64
14×cube-unmult_binary64
13×unsub-neg_binary64 distribute-neg-in_binary64
12×log-rec_binary64 associate-/r/_binary64 associate-+l+_binary64 associate-+r+_binary64
10×pow-plus_binary64
associate--r+_binary64
distribute-rgt-in_binary64
pow-sqr_binary64
unpow1/3_binary64 div0_binary64
rem-sqrt-square_binary64 distribute-rgt-out_binary64 distribute-lft-out_binary64
unpow1/2_binary64 exp-neg_binary64 mul-1-neg_binary64 distribute-lft-in_binary64
rem-exp-log_binary64 sqr-neg_binary64 remove-double-neg_binary64 distribute-rgt1-in_binary64 associate-+r-_binary64
unpow2_binary64 exp-to-pow_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 associate-+l-_binary64
unpow1_binary64 1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 rem-square-sqrt_binary64 distribute-lft1-in_binary64 count-2_binary64 associate--r-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sub0-neg_binary64 --rgt-identity_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 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--l-_binary64 associate--l+_binary64
Counts
235 → 183
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03365145
18564604
234904354
344734178
449754178
549594178

prune238.0ms (3.1%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New1830183
Fresh01212
Picked011
Done000
Total18313196
Error
0.0b
Counts
196 → 13
Compiler

Compiled 4420 to 2697 computations (39% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

5.4b
(*.f64 x (/.f64 y z))
10.1b
(cbrt.f64 (/.f64 t (-.f64 1 z)))
10.1b
(cbrt.f64 (/.f64 t (-.f64 1 z)))
10.1b
(cbrt.f64 (/.f64 t (pow.f64 (cbrt.f64 (-.f64 1 z)) 3)))

rewrite545.0ms (7.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
162×cbrt-prod_binary64
118×times-frac_binary64
113×add-sqr-sqrt_binary64
108×*-un-lft-identity_binary64
72×add-cube-cbrt_binary64
27×unpow-prod-down_binary64 cube-prod_binary64
24×difference-of-squares_binary64
13×associate-*r*_binary64
12×distribute-lft-out--_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64 associate-/r/_binary64
cbrt-div_binary64
add-log-exp_binary64 div-inv_binary64
pow1/3_binary64 unpow3_binary64 cube-mult_binary64 sqr-pow_binary64 flip3--_binary64 flip--_binary64 associate-*l*_binary64
cube-div_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64
pow-prod-down_binary64 div-exp_binary64 cbrt-undiv_binary64 associate-*r/_binary64 *-commutative_binary64
Counts
4 → 185
Calls

4 calls:

13.0ms
(cbrt.f64 (/.f64 t (pow.f64 (cbrt.f64 (-.f64 1 z)) 3)))
7.0ms
(*.f64 x (/.f64 y z))
6.0ms
(cbrt.f64 (/.f64 t (-.f64 1 z)))
5.0ms
(cbrt.f64 (/.f64 t (-.f64 1 z)))
Compiler

Compiled 6242 to 3984 computations (36.2% saved)

series210.0ms (2.7%)

Error
0.0b
Counts
4 → 33
Calls

4 calls:

46.0ms
(cbrt.f64 (/.f64 t (-.f64 1 z)))
46.0ms
(cbrt.f64 (/.f64 t (pow.f64 (cbrt.f64 (-.f64 1 z)) 3)))
45.0ms
(cbrt.f64 (/.f64 t (-.f64 1 z)))
36.0ms
(*.f64 x (/.f64 y z))
Compiler

Compiled 3317 to 2603 computations (21.5% saved)

simplify214.0ms (2.8%)

Algorithm
egg-herbie
Rules
769×times-frac_binary64
656×associate-/r*_binary64
546×associate-/l*_binary64
359×associate-/l/_binary64
179×log-div_binary64
139×log-prod_binary64
108×associate-/r/_binary64
91×associate-*l*_binary64
76×associate-*r*_binary64
67×sqr-pow_binary64
61×*-commutative_binary64
47×unswap-sqr_binary64 associate-*r/_binary64
39×sub-neg_binary64
38×log-rec_binary64
33×exp-prod_binary64
31×associate-*l/_binary64
30×distribute-rgt-in_binary64
29×distribute-lft-in_binary64
27×exp-sum_binary64 *-rgt-identity_binary64
23×log-pow_binary64 unpow3_binary64
20×/-rgt-identity_binary64 *-lft-identity_binary64 +-commutative_binary64
19×cancel-sign-sub-inv_binary64
17×neg-sub0_binary64
16×neg-mul-1_binary64
15×cube-prod_binary64
14×cube-mult_binary64 div-sub_binary64 unsub-neg_binary64 distribute-rgt-neg-in_binary64
13×unpow1/3_binary64
12×exp-diff_binary64
11×rem-cube-cbrt_binary64 distribute-lft-neg-in_binary64
cube-unmult_binary64 cube-div_binary64 swap-sqr_binary64
pow-sqr_binary64 distribute-neg-in_binary64 distribute-lft-neg-out_binary64
pow-plus_binary64 exp-neg_binary64 rem-sqrt-square_binary64 distribute-rgt-neg-out_binary64 associate-+l-_binary64
exp-to-pow_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 associate-+r-_binary64
rem-cbrt-cube_binary64 associate-+l+_binary64
distribute-lft-out_binary64 associate-+r+_binary64
rem-3cbrt-lft_binary64 distribute-frac-neg_binary64 distribute-rgt-out_binary64 associate--r-_binary64 associate--l-_binary64
unpow1/2_binary64 1-exp_binary64 exp-1-e_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 remove-double-neg_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 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 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 sqr-abs_binary64 sqr-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--l+_binary64 associate--r+_binary64
Counts
218 → 157
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03404356
15074050
215663999
347253981
449573981
550173981

prune141.0ms (1.8%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New1570157
Fresh01111
Picked011
Done011
Total15713170
Error
0.0b
Counts
170 → 13
Compiler

Compiled 3284 to 2073 computations (36.9% saved)

regimes1.9s (24%)

Accuracy

Total 2.1b remaining (98.5%)

Threshold costs 0b (0%)

Compiler

Compiled 26754 to 21881 computations (18.2% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-mul-1_binary64 neg-sub0_binary64
1-exp_binary64 unsub-neg_binary64 distribute-neg-frac_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-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 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-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02250
13748
25048
36048
46548
56648
66548

end1.0ms (0%)

Compiler

Compiled 30 to 20 computations (33.3% saved)

sample1.1s (14.3%)

Algorithm
intervals
Results
321.0ms8000×body128valid
66.0ms1825×body128invalid
Compiler

Compiled 405 to 315 computations (22.2% saved)

Profiling

Loading profile data...