Details

Time bar (total: 7.5s)

analyze54.0ms (0.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
50%50%0.1%6
62.4%31.2%6.3%7
71.8%21.9%6.3%8
76.5%14%9.5%9
80.4%10.1%9.5%10
82.3%6.6%11%11
84.1%4.9%11%12
85%3.2%11.8%13
85.8%2.4%11.8%14
Compiler

Compiled 10 to 10 computations (0% saved)

sample16.0ms (0.2%)

Algorithm
intervals
Results
7.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 19 to 21 computations (-10.5% saved)

simplify658.0ms (8.8%)

Algorithm
egg-herbie
Rules
622×distribute-rgt-out_binary64_18104
546×distribute-lft-out_binary64_18102
504×distribute-lft-out--_binary64_18103
499×distribute-rgt-out--_binary64_18105
231×cancel-sign-sub-inv_binary64_18117
71×times-frac_binary64_18157
70×associate-/l*_binary64_18096
60×associate-*l*_binary64_18092
56×associate-*r*_binary64_18091
49×distribute-rgt-in_binary64_18101
46×distribute-rgt-neg-in_binary64_18109
42×sub-neg_binary64_18144
41×distribute-lft-neg-in_binary64_18108
36×*-commutative_binary64_18082
35×distribute-rgt-neg-out_binary64_18111
34×neg-sub0_binary64_18146
32×associate-*l/_binary64_18094
30×unsub-neg_binary64_18145
29×distribute-lft-neg-out_binary64_18110
26×distribute-lft-in_binary64_18100
25×neg-mul-1_binary64_18147 associate-*r/_binary64_18093
24×distribute-rgt1-in_binary64_18107
23×distribute-neg-in_binary64_18112
19×div-sub_binary64_18156
16×associate-/r/_binary64_18097
14×distribute-frac-neg_binary64_18114
11×associate-/r*_binary64_18095 associate-+l-_binary64_18086
10×sub0-neg_binary64_18138 distribute-neg-frac_binary64_18115
--rgt-identity_binary64_18137 distribute-lft1-in_binary64_18106 associate--r+_binary64_18087
+-commutative_binary64_18081
mul0-lft_binary64_18133 associate-/l/_binary64_18098 associate-+r-_binary64_18085
mul0-rgt_binary64_18134 div0_binary64_18132
mul-1-neg_binary64_18143 remove-double-neg_binary64_18139 +-rgt-identity_binary64_18136 swap-sqr_binary64_18118 associate-+l+_binary64_18084 associate-+r+_binary64_18083
1-exp_binary64_18195 count-2_binary64_18099 associate--r-_binary64_18090
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 log-pow_binary64_18240 log-rec_binary64_18239 log-div_binary64_18238 log-prod_binary64_18237 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow3_binary64_18217 unpow2_binary64_18216 unpow1/2_binary64_18215 pow-plus_binary64_18214 exp-to-pow_binary64_18213 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 exp-prod_binary64_18203 div-exp_binary64_18202 rec-exp_binary64_18201 prod-exp_binary64_18200 exp-diff_binary64_18199 exp-neg_binary64_18198 exp-sum_binary64_18197 e-exp-1_binary64_18196 exp-1-e_binary64_18194 exp-0_binary64_18193 rem-log-exp_binary64_18192 rem-exp-log_binary64_18191 cube-unmult_binary64_18188 cube-mult_binary64_18181 cube-div_binary64_18180 cube-prod_binary64_18179 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 sqr-neg_binary64_18165 rem-sqrt-square_binary64_18164 rem-square-sqrt_binary64_18163 /-rgt-identity_binary64_18142 *-rgt-identity_binary64_18141 *-lft-identity_binary64_18140 +-lft-identity_binary64_18135 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 remove-double-div_binary64_18127 pow-sqr_binary64_18124 sqr-pow_binary64_18123 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 difference-of-squares_binary64_18120 unswap-sqr_binary64_18119 cancel-sign-sub_binary64_18116 distribute-neg-out_binary64_18113 associate--l-_binary64_18089 associate--l+_binary64_18088
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11613
23513
38013
416313
526613
657113

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 2
Compiler

Compiled 27 to 27 computations (0% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 x (/.f64 16 116))
0.0b
(*.f64 (-.f64 x (/.f64 16 116)) 3)
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)

rewrite119.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×add-sqr-sqrt_binary64_18173
17×*-un-lft-identity_binary64_18151
13×add-cube-cbrt_binary64_18186 cancel-sign-sub-inv_binary64_18117
11×times-frac_binary64_18157
10×pow1_binary64_18212 add-exp-log_binary64_18189 add-cbrt-cube_binary64_18187
associate-*l*_binary64_18092
associate-*l/_binary64_18094 associate-*r*_binary64_18091
add-log-exp_binary64_18190
pow-prod-down_binary64_18222 prod-exp_binary64_18200 cbrt-unprod_binary64_18184 difference-of-squares_binary64_18120
flip3--_binary64_18155 flip--_binary64_18126
*-commutative_binary64_18082 distribute-lft-out--_binary64_18103
unswap-sqr_binary64_18119 diff-log_binary64_18243 sub-neg_binary64_18144 div-inv_binary64_18148
Counts
3 → 70
Calls

3 calls:

11.0ms
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
10.0ms
(*.f64 (-.f64 x (/.f64 16 116)) 3)
8.0ms
(-.f64 x (/.f64 16 116))
Compiler

Compiled 1196 to 984 computations (17.7% saved)

series193.0ms (2.6%)

Error
0.0b
Counts
3 → 21
Calls

3 calls:

112.0ms
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
41.0ms
(*.f64 (-.f64 x (/.f64 16 116)) 3)
26.0ms
(-.f64 x (/.f64 16 116))
Compiler

Compiled 352 to 305 computations (13.4% saved)

simplify297.0ms (4%)

Algorithm
egg-herbie
Rules
297×div-sub_binary64_18156
294×*-commutative_binary64_18082
287×associate-*l/_binary64_18094
262×distribute-lft-neg-out_binary64_18110
250×distribute-rgt-in_binary64_18101
249×distribute-lft-in_binary64_18100
245×unsub-neg_binary64_18145
225×distribute-rgt-neg-out_binary64_18111 associate-/l*_binary64_18096
178×associate-*r/_binary64_18093
139×associate-*l*_binary64_18092
131×times-frac_binary64_18157
129×distribute-frac-neg_binary64_18114
116×neg-sub0_binary64_18146
115×exp-prod_binary64_18203
109×neg-mul-1_binary64_18147
101×associate-*r*_binary64_18091
98×sub-neg_binary64_18144
96×sqr-pow_binary64_18123
91×cancel-sign-sub-inv_binary64_18117
88×distribute-neg-frac_binary64_18115
77×associate-/l/_binary64_18098
74×swap-sqr_binary64_18118
73×unswap-sqr_binary64_18119
64×exp-sum_binary64_18197
59×associate-/r*_binary64_18095
57×*-lft-identity_binary64_18140
56×pow-sqr_binary64_18124
50×cube-prod_binary64_18179
43×*-rgt-identity_binary64_18141
41×distribute-neg-out_binary64_18113
35×+-commutative_binary64_18081
34×cube-div_binary64_18180 distribute-rgt-neg-in_binary64_18109 associate-/r/_binary64_18097
31×mul0-lft_binary64_18133
30×mul0-rgt_binary64_18134
26×log-prod_binary64_18237
20×difference-of-squares_binary64_18120
19×prod-exp_binary64_18200
18×div0_binary64_18132 distribute-lft-neg-in_binary64_18108
16×/-rgt-identity_binary64_18142
14×unpow3_binary64_18217 exp-diff_binary64_18199
13×log-div_binary64_18238
12×cube-unmult_binary64_18188 cube-mult_binary64_18181 associate-+l+_binary64_18084
10×div-exp_binary64_18202 remove-double-div_binary64_18127
associate-+r+_binary64_18083
exp-neg_binary64_18198 mul-1-neg_binary64_18143 sub0-neg_binary64_18138 associate-+l-_binary64_18086
exp-lft-cube_binary64_18207 associate-+r-_binary64_18085
pow-plus_binary64_18214 +-rgt-identity_binary64_18136
rem-sqrt-square_binary64_18164
log-rec_binary64_18239
rec-exp_binary64_18201 rem-square-sqrt_binary64_18163 distribute-rgt-out_binary64_18104
rem-3cbrt-lft_binary64_18176 distribute-neg-in_binary64_18112
log-pow_binary64_18240 exp-to-pow_binary64_18213 1-exp_binary64_18195 exp-1-e_binary64_18194 rem-log-exp_binary64_18192 rem-3cbrt-rft_binary64_18177 sqr-neg_binary64_18165 distribute-rgt-out--_binary64_18105
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow2_binary64_18216 unpow1/2_binary64_18215 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 e-exp-1_binary64_18196 exp-0_binary64_18193 rem-exp-log_binary64_18191 cube-neg_binary64_18178 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 remove-double-neg_binary64_18139 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 cancel-sign-sub_binary64_18116 distribute-rgt1-in_binary64_18107 distribute-lft1-in_binary64_18106 distribute-lft-out--_binary64_18103 distribute-lft-out_binary64_18102 count-2_binary64_18099 associate--r-_binary64_18090 associate--l-_binary64_18089 associate--l+_binary64_18088 associate--r+_binary64_18087
Counts
91 → 122
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01521159
13871009
212011009
332501009

prune138.0ms (1.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1166122
Fresh101
Picked011
Done000
Total1177124
Error
0b
Counts
124 → 7
Compiler

Compiled 1956 to 1572 computations (19.6% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 x 4/29)
0.1b
(*.f64 y (-.f64 x 4/29))
0.3b
(*.f64 3 (*.f64 y (-.f64 x 4/29)))

rewrite105.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
21×cancel-sign-sub-inv_binary64_18117
20×distribute-rgt-in_binary64_18101 distribute-lft-in_binary64_18100
19×add-sqr-sqrt_binary64_18173
17×*-un-lft-identity_binary64_18151
13×add-cube-cbrt_binary64_18186
10×pow1_binary64_18212 add-exp-log_binary64_18189 add-cbrt-cube_binary64_18187
sub-neg_binary64_18144
associate-*r/_binary64_18093 associate-*l*_binary64_18092 associate-*r*_binary64_18091
add-log-exp_binary64_18190
pow-prod-down_binary64_18222 prod-exp_binary64_18200 cbrt-unprod_binary64_18184
flip3--_binary64_18155 flip--_binary64_18126
*-commutative_binary64_18082 difference-of-squares_binary64_18120 distribute-lft-out--_binary64_18103
unswap-sqr_binary64_18119 diff-log_binary64_18243
Counts
3 → 82
Calls

3 calls:

8.0ms
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
7.0ms
(*.f64 y (-.f64 x 4/29))
4.0ms
(-.f64 x 4/29)
Compiler

Compiled 1118 to 832 computations (25.6% saved)

series248.0ms (3.3%)

Error
0b
Counts
3 → 24
Calls

3 calls:

119.0ms
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
86.0ms
(*.f64 y (-.f64 x 4/29))
30.0ms
(-.f64 x 4/29)
Compiler

Compiled 437 to 369 computations (15.6% saved)

simplify284.0ms (3.8%)

Algorithm
egg-herbie
Rules
697×distribute-rgt-neg-out_binary64_18111
689×distribute-lft-neg-out_binary64_18110
496×unsub-neg_binary64_18145
344×distribute-rgt-in_binary64_18101
341×distribute-lft-in_binary64_18100
274×*-commutative_binary64_18082
202×exp-prod_binary64_18203
173×associate-*r*_binary64_18091
171×associate-*l*_binary64_18092
137×neg-sub0_binary64_18146
129×neg-mul-1_binary64_18147
107×sqr-pow_binary64_18123
71×exp-sum_binary64_18197
60×swap-sqr_binary64_18118
49×*-rgt-identity_binary64_18141
48×sub-neg_binary64_18144
47×*-lft-identity_binary64_18140
46×cancel-sign-sub-inv_binary64_18117
39×unswap-sqr_binary64_18119
38×cube-prod_binary64_18179
37×exp-neg_binary64_18198
33×pow-sqr_binary64_18124
29×log-prod_binary64_18237
26×mul0-rgt_binary64_18134 mul0-lft_binary64_18133
23×+-commutative_binary64_18081
22×exp-diff_binary64_18199
17×div-sub_binary64_18156 distribute-rgt-neg-in_binary64_18109
16×difference-of-squares_binary64_18120
14×unpow3_binary64_18217
12×associate-+r+_binary64_18083
11×cube-mult_binary64_18181 sqr-neg_binary64_18165 associate-+r-_binary64_18085 associate-+l+_binary64_18084
exp-lft-cube_binary64_18207
cube-unmult_binary64_18188 sub0-neg_binary64_18138 +-rgt-identity_binary64_18136 distribute-lft-neg-in_binary64_18108 associate-+l-_binary64_18086
cube-div_binary64_18180
distribute-rgt-out_binary64_18104 associate-/l*_binary64_18096
prod-exp_binary64_18200 times-frac_binary64_18157 mul-1-neg_binary64_18143 distribute-neg-in_binary64_18112 distribute-rgt-out--_binary64_18105
pow-plus_binary64_18214 div-exp_binary64_18202 1-exp_binary64_18195 exp-1-e_binary64_18194 rem-log-exp_binary64_18192 rem-3cbrt-lft_binary64_18176 rem-sqrt-square_binary64_18164 rem-square-sqrt_binary64_18163 /-rgt-identity_binary64_18142 associate-/l/_binary64_18098 associate-*r/_binary64_18093
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 log-pow_binary64_18240 log-rec_binary64_18239 log-div_binary64_18238 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow2_binary64_18216 unpow1/2_binary64_18215 exp-to-pow_binary64_18213 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 rec-exp_binary64_18201 e-exp-1_binary64_18196 exp-0_binary64_18193 rem-exp-log_binary64_18191 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 remove-double-neg_binary64_18139 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 div0_binary64_18132 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 remove-double-div_binary64_18127 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 cancel-sign-sub_binary64_18116 distribute-neg-frac_binary64_18115 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 distribute-rgt1-in_binary64_18107 distribute-lft1-in_binary64_18106 distribute-lft-out--_binary64_18103 distribute-lft-out_binary64_18102 count-2_binary64_18099 associate-/r/_binary64_18097 associate-/r*_binary64_18095 associate-*l/_binary64_18094 associate--r-_binary64_18090 associate--l-_binary64_18089 associate--l+_binary64_18088 associate--r+_binary64_18087
Counts
106 → 274
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01301163
12951061
29301061
326881061

prune250.0ms (3.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2722274
Fresh235
Picked011
Done011
Total2747281
Error
0b
Counts
281 → 7
Compiler

Compiled 3576 to 2604 computations (27.2% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 x 4/29)
0.3b
(*.f64 (-.f64 x 4/29) (*.f64 y 3))

rewrite49.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_18173 *-un-lft-identity_binary64_18151
pow1_binary64_18212 add-exp-log_binary64_18189 add-cbrt-cube_binary64_18187
associate-*l*_binary64_18092
add-log-exp_binary64_18190 add-cube-cbrt_binary64_18186
pow-prod-down_binary64_18222 prod-exp_binary64_18200 cbrt-unprod_binary64_18184 cancel-sign-sub-inv_binary64_18117
flip3--_binary64_18155 associate-*l/_binary64_18094 flip--_binary64_18126 difference-of-squares_binary64_18120 distribute-lft-out--_binary64_18103
associate-*r*_binary64_18091 *-commutative_binary64_18082 diff-log_binary64_18243 sub-neg_binary64_18144
Counts
2 → 38
Calls

2 calls:

8.0ms
(*.f64 (-.f64 x 4/29) (*.f64 y 3))
4.0ms
(-.f64 x 4/29)
Compiler

Compiled 506 to 388 computations (23.3% saved)

series156.0ms (2.1%)

Error
0b
Counts
2 → 15
Calls

2 calls:

117.0ms
(*.f64 (-.f64 x 4/29) (*.f64 y 3))
28.0ms
(-.f64 x 4/29)
Compiler

Compiled 263 to 226 computations (14.1% saved)

simplify143.0ms (1.9%)

Algorithm
egg-herbie
Rules
741×associate-*l*_binary64_18092
522×associate-*r*_binary64_18091
464×neg-sub0_binary64_18146
446×neg-mul-1_binary64_18147
247×distribute-rgt-neg-out_binary64_18111
229×exp-prod_binary64_18203
219×distribute-lft-neg-out_binary64_18110
178×distribute-lft-in_binary64_18100
177×distribute-rgt-in_binary64_18101
122×+-commutative_binary64_18081
100×unsub-neg_binary64_18145
99×*-commutative_binary64_18082
66×exp-sum_binary64_18197
65×exp-neg_binary64_18198
64×sqr-pow_binary64_18123
51×cube-prod_binary64_18179
49×associate-+r+_binary64_18083
47×cancel-sign-sub-inv_binary64_18117
45×unswap-sqr_binary64_18119
38×associate-+l+_binary64_18084
37×sub-neg_binary64_18144
31×distribute-rgt-out_binary64_18104
26×exp-diff_binary64_18199 times-frac_binary64_18157 distribute-lft-out_binary64_18102
25×pow-sqr_binary64_18124
24×swap-sqr_binary64_18118
22×div-sub_binary64_18156
19×log-prod_binary64_18237
18×distribute-rgt-neg-in_binary64_18109
17×unpow3_binary64_18217
16×*-lft-identity_binary64_18140 difference-of-squares_binary64_18120
15×*-rgt-identity_binary64_18141
14×cube-unmult_binary64_18188
13×mul0-rgt_binary64_18134 mul0-lft_binary64_18133
12×cube-mult_binary64_18181 distribute-lft-neg-in_binary64_18108 associate-+r-_binary64_18085
11×exp-lft-cube_binary64_18207 associate-+l-_binary64_18086
prod-exp_binary64_18200
mul-1-neg_binary64_18143 +-rgt-identity_binary64_18136 associate-/l/_binary64_18098 associate-/l*_binary64_18096
pow-plus_binary64_18214 sqr-neg_binary64_18165 sub0-neg_binary64_18138
associate-*r/_binary64_18093
cube-div_binary64_18180 associate--r+_binary64_18087
pow-base-1_binary64_18211 rem-sqrt-square_binary64_18164 distribute-neg-in_binary64_18112 distribute-rgt-out--_binary64_18105 associate-/r/_binary64_18097
div-exp_binary64_18202 1-exp_binary64_18195 exp-1-e_binary64_18194 cube-neg_binary64_18178 rem-3cbrt-lft_binary64_18176 rem-square-sqrt_binary64_18163 count-2_binary64_18099 associate-*l/_binary64_18094
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 log-pow_binary64_18240 log-rec_binary64_18239 log-div_binary64_18238 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow2_binary64_18216 unpow1/2_binary64_18215 exp-to-pow_binary64_18213 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 rec-exp_binary64_18201 e-exp-1_binary64_18196 exp-0_binary64_18193 rem-log-exp_binary64_18192 rem-exp-log_binary64_18191 rem-3cbrt-rft_binary64_18177 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 /-rgt-identity_binary64_18142 remove-double-neg_binary64_18139 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 div0_binary64_18132 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 remove-double-div_binary64_18127 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 cancel-sign-sub_binary64_18116 distribute-neg-frac_binary64_18115 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 distribute-rgt1-in_binary64_18107 distribute-lft1-in_binary64_18106 distribute-lft-out--_binary64_18103 associate-/r*_binary64_18095 associate--r-_binary64_18090 associate--l-_binary64_18089 associate--l+_binary64_18088
Counts
53 → 53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
082569
1204485
2564485
32467485
43971485

prune53.0ms (0.7%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New52153
Fresh134
Picked011
Done022
Total53760
Error
0b
Counts
60 → 7
Compiler

Compiled 741 to 558 computations (24.7% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x 4/29)
0.3b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (*.f64 (cbrt.f64 3) y) (-.f64 x 4/29)))
0.3b
(*.f64 (*.f64 (cbrt.f64 3) y) (-.f64 x 4/29))
0.4b
(*.f64 (cbrt.f64 3) y)

rewrite225.0ms (3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
32×pow1_binary64_18212 add-exp-log_binary64_18189
23×add-sqr-sqrt_binary64_18173
22×add-cbrt-cube_binary64_18187
21×cancel-sign-sub-inv_binary64_18117
20×distribute-rgt-in_binary64_18101 distribute-lft-in_binary64_18100
19×pow-prod-down_binary64_18222 prod-exp_binary64_18200 cbrt-unprod_binary64_18184 *-un-lft-identity_binary64_18151
15×add-cube-cbrt_binary64_18186
associate-*r*_binary64_18091
associate-*l*_binary64_18092
sub-neg_binary64_18144
add-log-exp_binary64_18190 associate-*r/_binary64_18093
cbrt-prod_binary64_18182
*-commutative_binary64_18082 flip3--_binary64_18155 flip--_binary64_18126
unswap-sqr_binary64_18119 difference-of-squares_binary64_18120 distribute-lft-out--_binary64_18103
diff-log_binary64_18243
Counts
4 → 114
Calls

4 calls:

16.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (*.f64 (cbrt.f64 3) y) (-.f64 x 4/29)))
9.0ms
(*.f64 (*.f64 (cbrt.f64 3) y) (-.f64 x 4/29))
5.0ms
(*.f64 (cbrt.f64 3) y)
4.0ms
(-.f64 x 4/29)
Compiler

Compiled 2549 to 2186 computations (14.2% saved)

series613.0ms (8.2%)

Error
0b
Counts
4 → 27
Calls

4 calls:

316.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (*.f64 (cbrt.f64 3) y) (-.f64 x 4/29)))
185.0ms
(*.f64 (*.f64 (cbrt.f64 3) y) (-.f64 x 4/29))
56.0ms
(*.f64 (cbrt.f64 3) y)
27.0ms
(-.f64 x 4/29)
Compiler

Compiled 1008 to 944 computations (6.3% saved)

simplify1.2s (15.8%)

Algorithm
egg-herbie
Rules
554×distribute-rgt-in_binary64_18101
544×distribute-lft-in_binary64_18100
445×associate-*l*_binary64_18092
374×associate-*r*_binary64_18091
201×exp-prod_binary64_18203
107×*-commutative_binary64_18082
99×distribute-rgt-neg-out_binary64_18111
88×distribute-lft-neg-out_binary64_18110
72×log-prod_binary64_18237
53×swap-sqr_binary64_18118
50×distribute-rgt-neg-in_binary64_18109
44×cube-prod_binary64_18179
42×cancel-sign-sub-inv_binary64_18117 distribute-lft-neg-in_binary64_18108
41×sqr-pow_binary64_18123
32×unswap-sqr_binary64_18119
30×*-lft-identity_binary64_18140
26×neg-sub0_binary64_18146
25×*-rgt-identity_binary64_18141
22×sub-neg_binary64_18144
21×neg-mul-1_binary64_18147 +-commutative_binary64_18081
18×distribute-rgt-out_binary64_18104
15×distribute-lft-out_binary64_18102
13×associate-+r+_binary64_18083
11×pow-sqr_binary64_18124 distribute-rgt-out--_binary64_18105
exp-sum_binary64_18197 associate-+l+_binary64_18084
cube-unmult_binary64_18188
unsub-neg_binary64_18145
exp-diff_binary64_18199
unpow3_binary64_18217 exp-lft-cube_binary64_18207 cube-mult_binary64_18181
pow-plus_binary64_18214 associate-/l/_binary64_18098
div-sub_binary64_18156 difference-of-squares_binary64_18120 distribute-lft-out--_binary64_18103 associate-/r/_binary64_18097 associate-/l*_binary64_18096
log-pow_binary64_18240 exp-neg_binary64_18198 rem-sqrt-square_binary64_18164 +-rgt-identity_binary64_18136 distribute-lft1-in_binary64_18106 associate-+r-_binary64_18085
pow-base-1_binary64_18211 div-exp_binary64_18202 prod-exp_binary64_18200 1-exp_binary64_18195 exp-1-e_binary64_18194 rem-log-exp_binary64_18192 rem-3cbrt-lft_binary64_18176 rem-cube-cbrt_binary64_18174 rem-square-sqrt_binary64_18163 mul-1-neg_binary64_18143 count-2_binary64_18099
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 log-rec_binary64_18239 log-div_binary64_18238 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow2_binary64_18216 unpow1/2_binary64_18215 exp-to-pow_binary64_18213 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 rec-exp_binary64_18201 e-exp-1_binary64_18196 exp-0_binary64_18193 rem-exp-log_binary64_18191 cube-div_binary64_18180 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-cbrt-cube_binary64_18175 sqr-abs_binary64_18166 sqr-neg_binary64_18165 times-frac_binary64_18157 /-rgt-identity_binary64_18142 remove-double-neg_binary64_18139 sub0-neg_binary64_18138 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 div0_binary64_18132 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 remove-double-div_binary64_18127 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 cancel-sign-sub_binary64_18116 distribute-neg-frac_binary64_18115 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 distribute-neg-in_binary64_18112 distribute-rgt1-in_binary64_18107 associate-/r*_binary64_18095 associate-*l/_binary64_18094 associate-*r/_binary64_18093 associate--r-_binary64_18090 associate--l-_binary64_18089 associate--l+_binary64_18088 associate--r+_binary64_18087 associate-+l-_binary64_18086
Counts
141 → 387
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01711876
14541615
216271609

prune594.0ms (7.9%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New3870387
Fresh033
Picked011
Done033
Total3877394
Error
0b
Counts
394 → 7
Compiler

Compiled 6716 to 5510 computations (18% saved)

regimes557.0ms (7.4%)

Accuracy

Total 0.2b remaining (99.2%)

Threshold costs 0.2b (99.2%)

Compiler

Compiled 5091 to 4679 computations (8.1% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_18082
sub-neg_binary64_18144 +-commutative_binary64_18081
neg-mul-1_binary64_18147 neg-sub0_binary64_18146
distribute-neg-frac_binary64_18115
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_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 unpow1_binary64_18209 e-exp-1_binary64_18196 1-exp_binary64_18195 exp-1-e_binary64_18194 exp-0_binary64_18193 sqr-abs_binary64_18166 sqr-neg_binary64_18165 unsub-neg_binary64_18145 mul-1-neg_binary64_18143 /-rgt-identity_binary64_18142 *-rgt-identity_binary64_18141 *-lft-identity_binary64_18140 remove-double-neg_binary64_18139 sub0-neg_binary64_18138 --rgt-identity_binary64_18137 +-rgt-identity_binary64_18136 +-lft-identity_binary64_18135 cancel-sign-sub-inv_binary64_18117 cancel-sign-sub_binary64_18116 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 distribute-neg-in_binary64_18112 distribute-rgt-neg-out_binary64_18111 distribute-lft-neg-out_binary64_18110 distribute-rgt-neg-in_binary64_18109 distribute-lft-neg-in_binary64_18108
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11413
22113
32513
42813
52913
Proof
(* f64 (* f64 (- f64 h0 (/ f64 16 116)) 3) h1)

end0.0ms (0%)

sample1.5s (20.4%)

Algorithm
intervals
Results
236.0ms8000×body128valid
2.0ms84×body128invalid
Compiler

Compiled 1035 to 953 computations (7.9% saved)

Profiling

Loading profile data...