Details

Time bar (total: 15.6s)

analyze2.2s (14%)

Algorithm
search
egg-herbie
Rules
606×associate-*r*_binary64
578×associate-*l*_binary64
364×neg-mul-1_binary64
352×distribute-rgt-in_binary64 distribute-lft-in_binary64
323×distribute-neg-in_binary64
293×cancel-sign-sub-inv_binary64
252×sub-neg_binary64
236×distribute-lft-neg-out_binary64
178×neg-sub0_binary64
168×distribute-rgt-neg-in_binary64
145×+-commutative_binary64
126×*-commutative_binary64
122×distribute-rgt-neg-out_binary64
50×distribute-lft-neg-in_binary64
37×associate-+l-_binary64 associate-+r-_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 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 unsub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02991591
18491591
221991591
349271591
450461591
099
199
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
Compiler

Compiled 30 to 24 computations (20% saved)

sample98.0ms (0.6%)

Algorithm
intervals
Results
29.0ms380×body128invalid
25.0ms256×body128valid
Compiler

Compiled 59 to 56 computations (5.1% saved)

simplify789.0ms (5.1%)

Algorithm
egg-herbie
Rules
1512×associate--r-_binary64
1091×sub-neg_binary64
807×unsub-neg_binary64
421×distribute-neg-in_binary64
393×+-commutative_binary64
344×distribute-rgt-in_binary64
343×neg-sub0_binary64
323×distribute-rgt-neg-in_binary64 distribute-rgt-out_binary64
291×*-commutative_binary64
281×neg-mul-1_binary64
263×cancel-sign-sub-inv_binary64
259×distribute-neg-out_binary64
232×distribute-lft-in_binary64 associate-+l+_binary64
224×associate-+r-_binary64
215×distribute-lft-neg-in_binary64 associate-+l-_binary64
200×distribute-rgt-out--_binary64
185×distribute-lft-neg-out_binary64
179×associate--l-_binary64
175×associate--r+_binary64
168×remove-double-neg_binary64
161×associate--l+_binary64
139×distribute-rgt-neg-out_binary64
136×associate-*l*_binary64
126×associate-*r*_binary64
88×distribute-lft-out_binary64
79×distribute-lft-out--_binary64
72×mul0-rgt_binary64 mul0-lft_binary64
62×mul-1-neg_binary64
61×sub0-neg_binary64
54×associate-+r+_binary64
36×*-rgt-identity_binary64
31×*-lft-identity_binary64
27×+-rgt-identity_binary64
16×--rgt-identity_binary64
cancel-sign-sub_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-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
02443
15543
212543
338943
499443
5236143
6282443
7329143
8344943
9337943
10342443
11342043
12378443
13399143
14405643
15406143
16406143
17406343
18406543
19406543
20432543
21411743
22411743
23411743
24498443
25456543
26433543
27466543
28477843
29479443
30479443
31479443
32479443
33479443
34463543

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 58 to 46 computations (20.7% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.4b
(-.f64 (*.f64 c z) (*.f64 t i))
4.7b
(*.f64 x (-.f64 (*.f64 y z) (*.f64 t a)))
4.8b
(*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))
4.9b
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))

rewrite196.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
11.5b
Rules
16×add-sqr-sqrt_binary64
10×pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
associate-*l*_binary64 associate-*r*_binary64
sub-neg_binary64 cancel-sign-sub-inv_binary64
add-log-exp_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64 associate-*r/_binary64
flip3--_binary64 flip--_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64
diff-log_binary64
Counts
4 → 84
Calls

4 calls:

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

Compiled 2965 to 415 computations (86% saved)

series302.0ms (1.9%)

Error
2.3b
Counts
4 → 105
Calls

4 calls:

75.0ms
(*.f64 x (-.f64 (*.f64 y z) (*.f64 t a)))
74.0ms
(*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))
73.0ms
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))
49.0ms
(-.f64 (*.f64 c z) (*.f64 t i))
Compiler

Compiled 5204 to 3846 computations (26.1% saved)

simplify142.0ms (0.9%)

Algorithm
egg-herbie
Rules
368×distribute-rgt-in_binary64
361×distribute-lft-in_binary64
302×exp-prod_binary64
280×associate-*l*_binary64
272×cancel-sign-sub-inv_binary64
240×associate-*r*_binary64
213×neg-mul-1_binary64
150×*-commutative_binary64
146×unsub-neg_binary64
144×distribute-rgt-neg-in_binary64
138×neg-sub0_binary64
115×distribute-lft-neg-in_binary64
114×exp-sum_binary64 sqr-pow_binary64
110×*-lft-identity_binary64
106×*-rgt-identity_binary64
104×sub-neg_binary64
66×difference-of-squares_binary64
60×swap-sqr_binary64
56×distribute-lft-neg-out_binary64
51×cube-prod_binary64
43×exp-diff_binary64
42×unswap-sqr_binary64
36×times-frac_binary64
35×mul0-rgt_binary64 mul0-lft_binary64
34×distribute-rgt-neg-out_binary64
33×+-commutative_binary64
29×div-sub_binary64
27×log-prod_binary64
18×pow-sqr_binary64 distribute-rgt-out_binary64
13×sqr-neg_binary64
12×unpow3_binary64 cube-unmult_binary64 cube-mult_binary64 sub0-neg_binary64 +-rgt-identity_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+l+_binary64
associate-+r+_binary64
distribute-lft-out_binary64
unpow1/2_binary64 cube-neg_binary64 rem-sqrt-square_binary64
mul-1-neg_binary64
distribute-rgt-out--_binary64
div-exp_binary64 1-exp_binary64 exp-1-e_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 log-pow_binary64 log-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 rec-exp_binary64 prod-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-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 /-rgt-identity_binary64 remove-double-neg_binary64 --rgt-identity_binary64 +-lft-identity_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-neg-in_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_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
Counts
189 → 147
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01962626
14702443
215402443
335932443
446472443
549522443

prune113.0ms (0.7%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New12918147
Fresh000
Picked101
Done000
Total13018148
Error
3.5b
Counts
148 → 18
Compiler

Compiled 3001 to 810 computations (73% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.1b
(*.f64 (-.f64 (*.f64 z y) (*.f64 t a)) (cbrt.f64 x))
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (-.f64 (*.f64 z y) (*.f64 t a)) (cbrt.f64 x)))
4.8b
(*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))
4.9b
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))

rewrite460.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
3.5b
Rules
22×pow1_binary64 add-exp-log_binary64
19×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
13×associate-*r*_binary64
11×pow-prod-down_binary64 prod-exp_binary64 add-cube-cbrt_binary64 cbrt-unprod_binary64 *-un-lft-identity_binary64
10×associate-*l*_binary64
associate-*r/_binary64
add-log-exp_binary64 unswap-sqr_binary64 sub-neg_binary64 distribute-rgt-in_binary64 cancel-sign-sub-inv_binary64 distribute-lft-in_binary64 flip3--_binary64 flip--_binary64 *-commutative_binary64 associate-*l/_binary64 cbrt-prod_binary64
Counts
4 → 96
Calls

4 calls:

12.0ms
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (-.f64 (*.f64 z y) (*.f64 t a)) (cbrt.f64 x)))
7.0ms
(*.f64 (-.f64 (*.f64 z y) (*.f64 t a)) (cbrt.f64 x))
7.0ms
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))
6.0ms
(*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))
Compiler

Compiled 3976 to 472 computations (88.1% saved)

series428.0ms (2.7%)

Error
2.2b
Counts
4 → 108
Calls

4 calls:

151.0ms
(*.f64 (-.f64 (*.f64 z y) (*.f64 t a)) (cbrt.f64 x))
81.0ms
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (-.f64 (*.f64 z y) (*.f64 t a)) (cbrt.f64 x)))
78.0ms
(*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))
77.0ms
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))
Compiler

Compiled 6704 to 4602 computations (31.4% saved)

simplify107.0ms (0.7%)

Algorithm
egg-herbie
Rules
551×distribute-rgt-in_binary64
544×distribute-lft-in_binary64
373×associate-*l*_binary64
350×associate-*r*_binary64
177×*-commutative_binary64
175×distribute-rgt-neg-in_binary64
164×cancel-sign-sub-inv_binary64
142×distribute-lft-neg-in_binary64
82×distribute-lft-neg-out_binary64
75×unswap-sqr_binary64
71×exp-prod_binary64 sqr-pow_binary64
61×log-prod_binary64
60×distribute-rgt-neg-out_binary64
52×neg-sub0_binary64
46×cube-prod_binary64
44×neg-mul-1_binary64
42×sub-neg_binary64
41×*-rgt-identity_binary64 swap-sqr_binary64
40×*-lft-identity_binary64
22×+-commutative_binary64
20×exp-sum_binary64
13×unpow3_binary64 cube-unmult_binary64 cube-mult_binary64
11×exp-diff_binary64 mul-1-neg_binary64
difference-of-squares_binary64
pow-sqr_binary64 distribute-neg-in_binary64 associate-+r+_binary64
div-sub_binary64 associate-+l+_binary64
log-pow_binary64 pow-plus_binary64 distribute-rgt-out--_binary64
rem-sqrt-square_binary64 distribute-rgt-out_binary64
unpow1/3_binary64 unsub-neg_binary64 +-rgt-identity_binary64 associate-+r-_binary64
1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cube-cbrt_binary64 sqr-neg_binary64 remove-double-neg_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow2_binary64 unpow1/2_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 rem-cbrt-cube_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 times-frac_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 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-+l-_binary64
Counts
204 → 171
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02303590
15742853
219652853
351582853

prune133.0ms (0.9%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New1710171
Fresh01717
Picked011
Done000
Total17118189
Error
3.5b
Counts
189 → 18
Compiler

Compiled 3217 to 787 computations (75.5% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

4.9b
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))
6.1b
(cbrt.f64 (-.f64 (*.f64 z y) (*.f64 t a)))
6.1b
(cbrt.f64 (-.f64 (*.f64 z y) (*.f64 t a)))
6.1b
(cbrt.f64 (-.f64 (*.f64 y z) (*.f64 t a)))

rewrite170.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
3.5b
Rules
11×add-sqr-sqrt_binary64
add-cube-cbrt_binary64 cbrt-prod_binary64 *-un-lft-identity_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 cbrt-div_binary64
add-log-exp_binary64 flip3--_binary64 flip--_binary64
pow1/3_binary64 associate-*l*_binary64 associate-*r*_binary64
sub-neg_binary64 distribute-rgt-in_binary64 cancel-sign-sub-inv_binary64 distribute-lft-in_binary64 associate-*r/_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64
Counts
4 → 63
Calls

4 calls:

7.0ms
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 y z) (*.f64 t a)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 z y) (*.f64 t a)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 z y) (*.f64 t a)))
Compiler

Compiled 3548 to 417 computations (88.2% saved)

series479.0ms (3.1%)

Error
3.5b
Counts
4 → 87
Calls

4 calls:

107.0ms
(cbrt.f64 (-.f64 (*.f64 z y) (*.f64 t a)))
102.0ms
(cbrt.f64 (-.f64 (*.f64 z y) (*.f64 t a)))
99.0ms
(cbrt.f64 (-.f64 (*.f64 y z) (*.f64 t a)))
83.0ms
(*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))
Compiler

Compiled 12083 to 6916 computations (42.8% saved)

simplify133.0ms (0.8%)

Algorithm
egg-herbie
Rules
558×times-frac_binary64
434×associate-/l*_binary64
201×distribute-rgt-neg-in_binary64
196×distribute-lft-neg-in_binary64
185×associate-*r*_binary64
182×cancel-sign-sub-inv_binary64
166×distribute-rgt-in_binary64
164×distribute-lft-in_binary64
159×associate-*l*_binary64
139×associate-/r/_binary64
131×exp-prod_binary64
118×*-commutative_binary64
81×distribute-neg-frac_binary64
74×sub-neg_binary64
71×sqr-pow_binary64
58×neg-sub0_binary64
56×neg-mul-1_binary64
45×associate-/r*_binary64
42×exp-sum_binary64 associate-*r/_binary64
34×unswap-sqr_binary64
32×+-commutative_binary64
30×distribute-lft-neg-out_binary64
24×associate-*l/_binary64
22×distribute-rgt-neg-out_binary64
21×associate-/l/_binary64
19×log-prod_binary64
16×distribute-rgt-out_binary64
15×unsub-neg_binary64
14×cube-prod_binary64 *-lft-identity_binary64 distribute-lft-out_binary64
13×unpow3_binary64 *-rgt-identity_binary64
12×swap-sqr_binary64
11×exp-diff_binary64 cube-mult_binary64
10×unpow1/3_binary64 div-sub_binary64 distribute-neg-out_binary64
log-div_binary64 pow-sqr_binary64 distribute-neg-in_binary64 associate--r-_binary64
difference-of-squares_binary64
exp-to-pow_binary64
log-pow_binary64 log-rec_binary64 cube-unmult_binary64 remove-double-neg_binary64
unpow1/2_binary64 associate-+r+_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 rem-3cbrt-lft_binary64 mul-1-neg_binary64 distribute-lft-out--_binary64 associate-+l+_binary64
1-exp_binary64 exp-1-e_binary64 +-rgt-identity_binary64 distribute-rgt-out--_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-0_binary64 rem-log-exp_binary64 rem-exp-log_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 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-frac-neg_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
150 → 121
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02193205
15303091
216773031
348702971
449782971

prune158.0ms (1%)

Pruning

19 alts after pruning (17 fresh and 2 done)

PrunedKeptTotal
New1201121
Fresh01616
Picked011
Done011
Total12019139
Error
3.5b
Counts
139 → 19
Compiler

Compiled 5119 to 1307 computations (74.5% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

4.9b
(*.f64 b (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i))) (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))) (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))))
5.6b
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
5.6b
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
5.6b
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))

rewrite253.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
3.5b
Rules
60×cbrt-div_binary64
34×associate-*r/_binary64
30×flip3--_binary64 flip--_binary64
28×frac-times_binary64
14×associate-*l/_binary64
13×pow1_binary64 add-exp-log_binary64
add-cbrt-cube_binary64 cbrt-prod_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64
add-log-exp_binary64
pow1/3_binary64 associate-*l*_binary64
associate-*r*_binary64 *-commutative_binary64
Counts
4 → 86
Calls

4 calls:

24.0ms
(*.f64 b (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i))) (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))) (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))))
6.0ms
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
Compiler

Compiled 5881 to 689 computations (88.3% saved)

series514.0ms (3.3%)

Error
3.5b
Counts
4 → 93
Calls

4 calls:

110.0ms
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
110.0ms
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
107.0ms
(cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))
90.0ms
(*.f64 b (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i))) (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))) (cbrt.f64 (-.f64 (*.f64 z c) (*.f64 t i)))))
Compiler

Compiled 12188 to 7047 computations (42.2% saved)

simplify175.0ms (1.1%)

Algorithm
egg-herbie
Rules
689×times-frac_binary64
235×associate-*r*_binary64
222×associate-*l*_binary64
219×distribute-rgt-neg-in_binary64
215×distribute-lft-neg-in_binary64
187×distribute-rgt-in_binary64
186×distribute-lft-in_binary64
181×*-commutative_binary64
171×cancel-sign-sub-inv_binary64
142×exp-prod_binary64
119×distribute-neg-frac_binary64
84×associate-/l*_binary64
67×sub-neg_binary64
65×sqr-pow_binary64
58×neg-sub0_binary64
56×associate-*r/_binary64
53×neg-mul-1_binary64 associate-/r*_binary64
43×exp-sum_binary64
38×unswap-sqr_binary64
32×associate-*l/_binary64 +-commutative_binary64
30×log-prod_binary64 distribute-lft-neg-out_binary64
23×distribute-rgt-neg-out_binary64
19×distribute-rgt-out_binary64
18×distribute-lft-out_binary64
15×unsub-neg_binary64
12×swap-sqr_binary64 distribute-neg-out_binary64
11×unpow3_binary64
10×unpow1/3_binary64 exp-diff_binary64 cube-prod_binary64
div-sub_binary64 pow-sqr_binary64
log-div_binary64 distribute-neg-in_binary64 associate-/r/_binary64 associate--r-_binary64
cube-unmult_binary64 cube-mult_binary64 mul-1-neg_binary64
pow-plus_binary64 exp-to-pow_binary64 remove-double-neg_binary64 associate-+r+_binary64
associate-+l+_binary64
log-pow_binary64 log-rec_binary64
rem-3cbrt-lft_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 distribute-rgt-out--_binary64
1-exp_binary64 rem-cube-cbrt_binary64 distribute-rgt1-in_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 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 rem-exp-log_binary64 cube-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_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 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-lft1-in_binary64 associate-/l/_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64
Counts
179 → 167
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02484997
16154817
219414745
349034673
450464673

prune225.0ms (1.4%)

Pruning

19 alts after pruning (16 fresh and 3 done)

PrunedKeptTotal
New1661167
Fresh11516
Picked011
Done022
Total16719186
Error
3.5b
Counts
186 → 19
Compiler

Compiled 6560 to 1237 computations (81.1% saved)

regimes4.9s (31.4%)

Accuracy

Total 8.1b remaining (68.6%)

Threshold costs 0b (0%)

Compiler

Compiled 61186 to 41127 computations (32.8% saved)

bsearch184.0ms (1.2%)

Steps
ItersRangePoint
8
3.629214380569931e-80
1.8316581181987506e-75
3.7318767100991856e-80
10
2.4470732661027325e-158
1.3081604404871538e-148
1.185801524217147e-153
7
5.746789728247465e-243
1.349173664216588e-241
1.1080664109400698e-241
4
-9.167549925656645e-113
-3.5929948691608984e-119
-3.7206181514558736e-113
Compiler

Compiled 1 to 9 computations (-800% saved)

simplify46.0ms (0.3%)

Algorithm
egg-herbie
Rules
203×distribute-rgt-neg-in_binary64
190×cancel-sign-sub-inv_binary64
137×distribute-lft-neg-in_binary64
126×neg-mul-1_binary64 neg-sub0_binary64
113×distribute-lft-neg-out_binary64
92×distribute-rgt-neg-out_binary64
87×distribute-neg-out_binary64
81×unsub-neg_binary64
75×distribute-neg-in_binary64
73×sub-neg_binary64
66×*-commutative_binary64
58×+-commutative_binary64
39×remove-double-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 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 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058245
1119245
2176245
3251245
4326245
5373245
6431245
7492245
8554245
9647245
10753245
11845245
12924245
13968245
14986245
15990245
16986245

end5.0ms (0%)

Compiler

Compiled 165 to 55 computations (66.7% saved)

sample3.3s (21.2%)

Algorithm
intervals
Results
885.0ms11140×body128invalid
658.0ms8000×body128valid
Compiler

Compiled 1094 to 678 computations (38% saved)

Profiling

Loading profile data...