Details

Time bar (total: 10.8s)

analyze2.2s (20.6%)

Algorithm
search
egg-herbie
Rules
618×distribute-rgt-in_binary64 distribute-lft-in_binary64
548×cancel-sign-sub-inv_binary64
443×neg-mul-1_binary64
407×associate-*r*_binary64
384×distribute-neg-in_binary64
330×associate-*l*_binary64
237×distribute-rgt-neg-out_binary64
224×distribute-rgt-neg-in_binary64
215×unsub-neg_binary64
201×distribute-lft-neg-in_binary64
194×neg-sub0_binary64
156×sub-neg_binary64
100×*-commutative_binary64
93×+-commutative_binary64
52×associate--l+_binary64
46×distribute-lft-neg-out_binary64
38×associate--r+_binary64
23×associate-+l+_binary64
swap-x-y swap-z-t
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 1-exp_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 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 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-neg-out_binary64 distribute-rgt1-in_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 associate--r-_binary64 associate--l-_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0188812
1490812
21460812
34141812
44875812
55144812
088
188
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%99.6%0.4%8
0%99.6%0.4%9
0%99.6%0.4%10
0%99.6%0.4%11
0%99.6%0.4%12
0%99.6%0.4%13
0%99.6%0.4%14
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 20 to 19 computations (5% saved)

sample84.0ms (0.8%)

Algorithm
intervals
Results
15.0ms256×body128valid
15.0ms261×body128invalid
Compiler

Compiled 39 to 45 computations (-15.4% saved)

simplify655.0ms (6.1%)

Algorithm
egg-herbie
Rules
1149×distribute-rgt-in_binary64
1082×distribute-lft-in_binary64
1054×unsub-neg_binary64
545×sub-neg_binary64
514×associate-*l*_binary64
397×neg-sub0_binary64
392×neg-mul-1_binary64
337×associate-*r*_binary64
321×*-commutative_binary64
311×distribute-rgt-neg-in_binary64
298×distribute-rgt-neg-out_binary64
290×distribute-lft-neg-out_binary64
263×cancel-sign-sub-inv_binary64
248×associate--r+_binary64
243×associate-+l-_binary64
233×remove-double-neg_binary64
229×distribute-lft-neg-in_binary64
221×distribute-neg-in_binary64
211×associate--r-_binary64
190×associate--l+_binary64
185×cancel-sign-sub_binary64
160×+-commutative_binary64
152×distribute-neg-out_binary64
96×mul0-rgt_binary64 mul0-lft_binary64
74×distribute-rgt-out--_binary64
66×associate-+r+_binary64
60×distribute-rgt-out_binary64
57×associate--l-_binary64
56×associate-+l+_binary64
54×sub0-neg_binary64
35×associate-+r-_binary64
34×--rgt-identity_binary64
29×distribute-lft-out_binary64
17×+-rgt-identity_binary64
14×*-lft-identity_binary64
12×*-rgt-identity_binary64
+-lft-identity_binary64 distribute-lft-out--_binary64
mul-1-neg_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 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-rgt1-in_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 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01928
13628
28728
324828
465528
5124928
6177528
7205428
8239928
9268028
10259028
11259828
12260228
13273228
14289128
15289228
16289428
17289428
18442628
19304228
20305028
21306228
22306628
23306628
24307428
25313028
26327828
27334228
28333028
29333028
30333028
31337028
32333928
33333928
34285128
35266228

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
6.1b
Counts
2 → 1
Compiler

Compiled 38 to 36 computations (5.3% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
0.1b
(*.f64 (+.f64 a (*.f64 b c)) c)
9.2b
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

rewrite129.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
1.5b
Rules
14×associate-*l/_binary64
11×pow1_binary64 add-exp-log_binary64 add-log-exp_binary64 add-cbrt-cube_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64 flip3-+_binary64 flip-+_binary64
associate-*r*_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 associate-*l*_binary64 frac-sub_binary64
*-commutative_binary64 sum-log_binary64 diff-log_binary64
unswap-sqr_binary64 +-commutative_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 cancel-sign-sub-inv_binary64 associate--l+_binary64
Counts
4 → 69
Calls

4 calls:

8.0ms
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
7.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
6.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
4.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 2127 to 441 computations (79.3% saved)

series378.0ms (3.5%)

Error
1.3b
Counts
4 → 114
Calls

4 calls:

197.0ms
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
61.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
44.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
39.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 3605 to 3341 computations (7.3% saved)

simplify131.0ms (1.2%)

Algorithm
egg-herbie
Rules
422×cancel-sign-sub-inv_binary64
310×distribute-rgt-neg-in_binary64
262×distribute-lft-neg-in_binary64
253×neg-sub0_binary64
250×neg-mul-1_binary64
249×associate-*l*_binary64
229×associate-*r*_binary64
188×associate-+l+_binary64
171×times-frac_binary64
161×exp-prod_binary64
145×+-commutative_binary64
141×associate-+r+_binary64
127×*-commutative_binary64
110×distribute-rgt-in_binary64
102×distribute-lft-in_binary64
91×exp-sum_binary64
74×exp-diff_binary64
69×sub-neg_binary64
68×distribute-lft-neg-out_binary64
62×distribute-rgt-out_binary64 associate--l+_binary64
61×sqr-pow_binary64
57×associate--r+_binary64
52×cube-prod_binary64
50×unswap-sqr_binary64
39×associate-+l-_binary64
36×distribute-neg-in_binary64
35×log-prod_binary64
32×associate-+r-_binary64
28×distribute-rgt-neg-out_binary64
24×swap-sqr_binary64 distribute-lft-out_binary64
22×distribute-rgt-out--_binary64
18×*-lft-identity_binary64
17×unpow3_binary64
13×cube-mult_binary64 unsub-neg_binary64 *-rgt-identity_binary64
associate-/l*_binary64
div-exp_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64
pow-sqr_binary64 associate-/r*_binary64
unpow1/2_binary64 cube-unmult_binary64 mul-1-neg_binary64 +-rgt-identity_binary64
log-pow_binary64 associate--r-_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 remove-double-neg_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 log-div_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 rec-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 div-sub_binary64 /-rgt-identity_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 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64 associate-/l/_binary64 associate-*l/_binary64 associate-*r/_binary64 associate--l-_binary64
Counts
183 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01603575
15153152
219303128
340713128
450083128

prune80.0ms (0.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1378145
Fresh000
Picked101
Done000
Total1388146
Error
1.2b
Counts
146 → 8
Compiler

Compiled 1849 to 525 computations (71.6% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.7b
(cbrt.f64 i)
1.6b
(*.f64 c (*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))))
1.7b
(*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))
2.7b
(*.f64 (*.f64 c (*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))) (cbrt.f64 i))

rewrite156.0ms (1.5%)

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

4 calls:

16.0ms
(*.f64 (*.f64 c (*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))) (cbrt.f64 i))
12.0ms
(*.f64 c (*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))))
9.0ms
(*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))
1.0ms
(cbrt.f64 i)
Compiler

Compiled 2621 to 500 computations (80.9% saved)

series374.0ms (3.5%)

Error
1.2b
Counts
4 → 66
Calls

4 calls:

140.0ms
(*.f64 c (*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))))
123.0ms
(*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))
67.0ms
(*.f64 (*.f64 c (*.f64 (+.f64 a (*.f64 b c)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))) (cbrt.f64 i))
17.0ms
(cbrt.f64 i)
Compiler

Compiled 3251 to 2809 computations (13.6% saved)

simplify139.0ms (1.3%)

Algorithm
egg-herbie
Rules
615×distribute-lft-in_binary64
612×distribute-rgt-in_binary64
341×associate-*l*_binary64
308×associate-*r*_binary64
301×log-prod_binary64
207×exp-prod_binary64
149×unswap-sqr_binary64
145×*-commutative_binary64
144×cube-prod_binary64
111×exp-sum_binary64
65×associate-+l+_binary64
63×distribute-rgt-neg-in_binary64
56×neg-sub0_binary64 sqr-pow_binary64
54×swap-sqr_binary64 associate-+r+_binary64
52×distribute-lft-neg-in_binary64
51×neg-mul-1_binary64
31×+-commutative_binary64
29×sub-neg_binary64 cancel-sign-sub-inv_binary64
22×unpow3_binary64
21×log-pow_binary64
19×cube-mult_binary64
17×distribute-lft-neg-out_binary64 distribute-rgt-out_binary64
16×unsub-neg_binary64
15×distribute-rgt-neg-out_binary64
12×*-rgt-identity_binary64
11×*-lft-identity_binary64 associate-/l*_binary64
cube-unmult_binary64 distribute-lft-out_binary64
pow-plus_binary64
exp-diff_binary64 rem-sqrt-square_binary64
mul-1-neg_binary64
cube-neg_binary64 sqr-neg_binary64 pow-sqr_binary64
unpow1/2_binary64 distribute-neg-in_binary64 associate--r+_binary64
unpow1/3_binary64 unpow2_binary64 unpow1_binary64 associate-+r-_binary64
exp-neg_binary64 remove-double-neg_binary64 count-2_binary64 associate-+l-_binary64
1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 div-sub_binary64 difference-of-squares_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 log-div_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 prod-exp_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 times-frac_binary64 /-rgt-identity_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 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64
Counts
150 → 128
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01443091
13892199
215402099
342042099
448832099
550072099

prune68.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1280128
Fresh077
Picked011
Done000
Total1288136
Error
1.2b
Counts
136 → 8
Compiler

Compiled 1628 to 624 computations (61.7% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

4.4b
(*.f64 c (*.f64 i (+.f64 a (*.f64 b c))))
8.1b
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
8.1b
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
8.1b
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))

rewrite126.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
1.2b
Rules
16×associate-*r/_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
cbrt-div_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
add-log-exp_binary64 flip3-+_binary64 flip-+_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64
pow1/3_binary64 cbrt-prod_binary64 pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 associate-*l*_binary64
associate-*r*_binary64 *-commutative_binary64
Counts
4 → 57
Calls

4 calls:

7.0ms
(*.f64 c (*.f64 i (+.f64 a (*.f64 b c))))
5.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
5.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
5.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
Compiler

Compiled 2698 to 412 computations (84.7% saved)

series530.0ms (4.9%)

Error
1.2b
Counts
4 → 84
Calls

4 calls:

125.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
123.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
120.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
70.0ms
(*.f64 c (*.f64 i (+.f64 a (*.f64 b c))))
Compiler

Compiled 11462 to 6545 computations (42.9% saved)

simplify134.0ms (1.2%)

Algorithm
egg-herbie
Rules
487×distribute-rgt-in_binary64
473×distribute-lft-in_binary64
269×times-frac_binary64
245×associate-/l*_binary64
175×associate-/r*_binary64
165×associate-*r*_binary64
151×associate-*l*_binary64
127×*-commutative_binary64
85×log-prod_binary64
78×associate-/r/_binary64
75×exp-sum_binary64
71×sqr-pow_binary64
66×unswap-sqr_binary64
53×cancel-sign-sub-inv_binary64
50×sub-neg_binary64
43×distribute-rgt-neg-in_binary64
42×exp-prod_binary64
36×distribute-lft-neg-in_binary64
32×neg-sub0_binary64
30×+-commutative_binary64
28×neg-mul-1_binary64
25×unsub-neg_binary64
22×associate-*l/_binary64 associate-*r/_binary64
21×distribute-lft-neg-out_binary64
15×log-div_binary64
14×distribute-rgt-neg-out_binary64
13×swap-sqr_binary64
12×unpow1/3_binary64
11×log-pow_binary64 associate-+l+_binary64
10×cube-prod_binary64 pow-sqr_binary64 associate-/l/_binary64
distribute-neg-in_binary64
exp-diff_binary64 div-sub_binary64 associate--l+_binary64
distribute-rgt-out_binary64
cube-unmult_binary64 remove-double-neg_binary64 distribute-neg-out_binary64 associate--r-_binary64 associate-+r+_binary64
exp-to-pow_binary64 distribute-rgt-out--_binary64 distribute-lft-out_binary64
log-rec_binary64 unpow3_binary64 mul-1-neg_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 cube-mult_binary64
pow-plus_binary64 1-exp_binary64 rem-exp-log_binary64 rem-3cbrt-lft_binary64 rem-sqrt-square_binary64 difference-of-squares_binary64 cancel-sign-sub_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 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-1-e_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 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_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 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_binary64 associate--l-_binary64 associate--r+_binary64
Counts
141 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02063539
15543333
215863196
349703196
450113196

prune134.0ms (1.2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1241125
Fresh066
Picked011
Done011
Total1249133
Error
1.2b
Counts
133 → 9
Compiler

Compiled 4747 to 1126 computations (76.3% saved)

localize37.0ms (0.3%)

Local error

Found 4 expressions with local error:

8.1b
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
8.1b
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
8.1b
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
8.1b
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))

rewrite115.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
1.2b
Rules
cbrt-div_binary64
associate-*l/_binary64
pow1/3_binary64 pow1_binary64 add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-cube-cbrt_binary64 flip3-+_binary64 flip-+_binary64 cbrt-prod_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64 associate-*r/_binary64
Counts
4 → 44
Calls

4 calls:

6.0ms
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
6.0ms
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
5.0ms
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
5.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
Compiler

Compiled 3376 to 393 computations (88.4% saved)

series656.0ms (6.1%)

Error
1.2b
Counts
4 → 84
Calls

4 calls:

133.0ms
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
132.0ms
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
131.0ms
(cbrt.f64 (*.f64 (+.f64 a (*.f64 c b)) (*.f64 i c)))
130.0ms
(cbrt.f64 (*.f64 c (*.f64 i (+.f64 a (*.f64 b c)))))
Compiler

Compiled 18488 to 8713 computations (52.9% saved)

simplify168.0ms (1.6%)

Algorithm
egg-herbie
Rules
488×associate-*r*_binary64
465×associate-*l*_binary64
331×exp-sum_binary64
269×times-frac_binary64
243×associate-/l*_binary64
217×*-commutative_binary64
175×associate-/r*_binary64
135×exp-prod_binary64
125×exp-diff_binary64
108×distribute-rgt-in_binary64
102×distribute-lft-in_binary64
90×associate-*l/_binary64
81×log-prod_binary64
78×associate-/r/_binary64
73×associate-*r/_binary64
62×log-div_binary64
60×sqr-pow_binary64
59×+-commutative_binary64
55×sub-neg_binary64
54×cancel-sign-sub-inv_binary64
53×associate-+r-_binary64
48×unswap-sqr_binary64
45×distribute-rgt-neg-in_binary64
40×associate--l+_binary64
38×log-pow_binary64
37×distribute-lft-neg-in_binary64
36×associate-+r+_binary64
33×neg-sub0_binary64 associate-+l+_binary64
31×exp-to-pow_binary64
30×associate--r-_binary64
29×neg-mul-1_binary64
24×unsub-neg_binary64
23×associate-+l-_binary64
22×distribute-lft-neg-out_binary64
20×unpow1/3_binary64 exp-neg_binary64 rem-exp-log_binary64
19×log-rec_binary64
14×cube-prod_binary64 distribute-rgt-neg-out_binary64
12×associate--r+_binary64
10×cube-unmult_binary64 associate-/l/_binary64
distribute-neg-in_binary64
unpow3_binary64 div-sub_binary64 pow-sqr_binary64
distribute-rgt-out--_binary64
exp-lft-sqr_binary64 remove-double-neg_binary64 distribute-neg-out_binary64
pow-plus_binary64 cube-mult_binary64 distribute-lft-out_binary64
mul-1-neg_binary64 distribute-rgt-out_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64
rem-3cbrt-lft_binary64 difference-of-squares_binary64 swap-sqr_binary64
1-exp_binary64 cancel-sign-sub_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 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 e-exp-1_binary64 exp-1-e_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-sqrt-square_binary64 rem-square-sqrt_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_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 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_binary64
Counts
128 → 115
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01933736
14783624
211973460
341702980
448932980
549712980

prune158.0ms (1.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1150115
Fresh066
Picked011
Done022
Total1159124
Error
1.2b
Counts
124 → 9
Compiler

Compiled 6324 to 965 computations (84.7% saved)

regimes2.2s (20.2%)

Accuracy

Total 1.1b remaining (57.2%)

Threshold costs 0b (0%)

Compiler

Compiled 33699 to 26566 computations (21.2% saved)

bsearch0.0ms (0%)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
14×*-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 cancel-sign-sub-inv_binary64 distribute-neg-in_binary64
distribute-lft-neg-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 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 e-exp-1_binary64 1-exp_binary64 exp-1-e_binary64 exp-0_binary64 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_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01928
13228
24628
36928
48328
59228
69528
79528

end26.0ms (0.2%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 95 to 90 computations (5.3% saved)

sample2.0s (18.9%)

Algorithm
intervals
Results
495.0ms8000×body128valid
414.0ms7039×body128invalid
Compiler

Compiled 320 to 264 computations (17.5% saved)

Profiling

Loading profile data...