Details

Time bar (total: 6.0s)

analyze68.0ms (1.1%)

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
25%50%25.1%6
25%31.2%43.8%7
31.2%25%43.8%8
39%17.2%43.8%9
42.9%13.3%43.8%10
47.2%9%43.8%11
49.4%6.8%43.8%12
51.6%4.6%43.8%13
52.7%3.5%43.8%14
Compiler

Compiled 16 to 8 computations (50% saved)

sample15.0ms (0.2%)

Algorithm
intervals
Results
6.0ms256×body128valid
Compiler

Compiled 31 to 17 computations (45.2% saved)

simplify545.0ms (9.1%)

Algorithm
egg-herbie
Rules
703×exp-prod_binary64_22295
516×exp-sum_binary64_22289
505×sqr-pow_binary64_22215
391×pow-sqr_binary64_22216
350×distribute-rgt-in_binary64_22193
272×pow-plus_binary64_22306
195×associate-/r*_binary64_22187
177×associate-/l/_binary64_22190
165×distribute-rgt1-in_binary64_22199
147×*-commutative_binary64_22174
144×associate-*l*_binary64_22184
139×distribute-rgt-out_binary64_22196 associate-+l+_binary64_22176
125×associate-*r*_binary64_22183
113×pow-base-1_binary64_22303
106×unswap-sqr_binary64_22211
92×neg-mul-1_binary64_22239 neg-sub0_binary64_22238
91×cancel-sign-sub-inv_binary64_22209 distribute-lft-neg-in_binary64_22200
89×distribute-lft-in_binary64_22192
83×distribute-lft-out_binary64_22194
76×associate-+r+_binary64_22175
72×rem-sqrt-square_binary64_22256
68×times-frac_binary64_22249
61×distribute-rgt-neg-in_binary64_22201
58×+-commutative_binary64_22173
28×cube-unmult_binary64_22280
26×swap-sqr_binary64_22210 associate-/l*_binary64_22188
22×count-2_binary64_22191
21×distribute-lft1-in_binary64_22198
20×associate-/r/_binary64_22189
18×/-rgt-identity_binary64_22234
17×*-lft-identity_binary64_22232
14×*-rgt-identity_binary64_22233
13×cube-prod_binary64_22271
12×exp-lft-sqr_binary64_22298 exp-sqrt_binary64_22296 prod-exp_binary64_22292
10×distribute-neg-frac_binary64_22207
div-exp_binary64_22294
cube-div_binary64_22272
rec-exp_binary64_22293
unpow3_binary64_22309 1-exp_binary64_22287 exp-1-e_binary64_22286 sub-neg_binary64_22236 --rgt-identity_binary64_22229 +-rgt-identity_binary64_22228 div0_binary64_22224 *-inverses_binary64_22223 lft-mult-inverse_binary64_22221 rgt-mult-inverse_binary64_22220 remove-double-div_binary64_22219 associate-*r/_binary64_22185
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_22506 erf-erfc_binary64_22505 erf-odd_binary64_22504 if-if-and-not_binary64_22503 if-if-and_binary64_22502 if-if-or-not_binary64_22501 if-if-or_binary64_22500 if-not_binary64_22499 if-same_binary64_22498 if-false_binary64_22497 if-true_binary64_22496 not-gte_binary64_22495 not-lte_binary64_22494 not-gt_binary64_22493 not-lt_binary64_22492 gte-same_binary64_22491 lte-same_binary64_22490 gt-same_binary64_22489 lt-same_binary64_22488 sinh---cosh_binary64_22435 sinh-+-cosh_binary64_22434 sinh-cosh_binary64_22433 tanh-def-c_binary64_22432 tanh-def-b_binary64_22431 tanh-def-a_binary64_22430 cosh-def_binary64_22429 sinh-def_binary64_22428 tan-neg_binary64_22375 cos-neg_binary64_22374 sin-neg_binary64_22373 tan-0_binary64_22372 cos-0_binary64_22371 sin-0_binary64_22370 hang-m-tan_binary64_22369 hang-p-tan_binary64_22368 hang-m0-tan_binary64_22367 hang-p0-tan_binary64_22366 hang-0m-tan_binary64_22365 hang-0p-tan_binary64_22364 tan-+PI/2_binary64_22363 tan-+PI_binary64_22362 tan-PI_binary64_22361 tan-PI/3_binary64_22360 tan-PI/4_binary64_22359 tan-PI/6_binary64_22358 cos-+PI/2_binary64_22357 cos-+PI_binary64_22356 cos-PI_binary64_22355 cos-PI/2_binary64_22354 cos-PI/3_binary64_22353 cos-PI/4_binary64_22352 cos-PI/6_binary64_22351 sin-+PI/2_binary64_22350 sin-+PI_binary64_22349 sin-PI_binary64_22348 sin-PI/2_binary64_22347 sin-PI/3_binary64_22346 sin-PI/4_binary64_22345 sin-PI/6_binary64_22344 sub-1-sin_binary64_22343 sub-1-cos_binary64_22342 -1-add-sin_binary64_22341 -1-add-cos_binary64_22340 1-sub-sin_binary64_22339 1-sub-cos_binary64_22338 cos-sin-sum_binary64_22337 log-E_binary64_22333 log-pow_binary64_22332 log-rec_binary64_22331 log-div_binary64_22330 log-prod_binary64_22329 pow-base-0_binary64_22327 unpow1/3_binary64_22310 unpow2_binary64_22308 unpow1/2_binary64_22307 exp-to-pow_binary64_22305 unpow0_binary64_22302 unpow1_binary64_22301 unpow-1_binary64_22300 exp-lft-cube_binary64_22299 exp-cbrt_binary64_22297 exp-diff_binary64_22291 exp-neg_binary64_22290 e-exp-1_binary64_22288 exp-0_binary64_22285 rem-log-exp_binary64_22284 rem-exp-log_binary64_22283 cube-mult_binary64_22273 cube-neg_binary64_22270 rem-3cbrt-rft_binary64_22269 rem-3cbrt-lft_binary64_22268 rem-cbrt-cube_binary64_22267 rem-cube-cbrt_binary64_22266 sqr-abs_binary64_22258 sqr-neg_binary64_22257 rem-square-sqrt_binary64_22255 div-sub_binary64_22248 unsub-neg_binary64_22237 mul-1-neg_binary64_22235 remove-double-neg_binary64_22231 sub0-neg_binary64_22230 +-lft-identity_binary64_22227 mul0-rgt_binary64_22226 mul0-lft_binary64_22225 +-inverses_binary64_22222 difference-of-sqr--1_binary64_22214 difference-of-sqr-1_binary64_22213 difference-of-squares_binary64_22212 cancel-sign-sub_binary64_22208 distribute-frac-neg_binary64_22206 distribute-neg-out_binary64_22205 distribute-neg-in_binary64_22204 distribute-rgt-neg-out_binary64_22203 distribute-lft-neg-out_binary64_22202 distribute-rgt-out--_binary64_22197 distribute-lft-out--_binary64_22195 associate-*l/_binary64_22186 associate--r-_binary64_22182 associate--l-_binary64_22181 associate--l+_binary64_22180 associate--r+_binary64_22179 associate-+l-_binary64_22178 associate-+r-_binary64_22177
Counts
1 → 3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0822
11419
22416
33416
44016
54716
65116
76316
86116
96316
107916
1116516
1277816
13174816
14331316

prune7.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New123
Fresh101
Picked000
Done000
Total224
Error
0.1b
Counts
4 → 2
Compiler

Compiled 63 to 29 computations (54% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.2b
(*.f64 y (+.f64 y (+.f64 y y)))

rewrite48.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
15×*-un-lft-identity_binary64_22243
14×associate-*r*_binary64_22183
11×add-sqr-sqrt_binary64_22265
distribute-lft-out_binary64_22194
add-cube-cbrt_binary64_22278
distribute-rgt1-in_binary64_22199
distribute-rgt-out_binary64_22196
pow1_binary64_22304 add-exp-log_binary64_22281 add-cbrt-cube_binary64_22279 associate-*l*_binary64_22184
associate-*r/_binary64_22185 distribute-lft1-in_binary64_22198 count-2_binary64_22191
pow-prod-down_binary64_22314 prod-exp_binary64_22292 add-log-exp_binary64_22282 cbrt-unprod_binary64_22276 unswap-sqr_binary64_22211 distribute-rgt-in_binary64_22193 distribute-lft-in_binary64_22192 flip3-+_binary64_22246 flip-+_binary64_22217 *-commutative_binary64_22174
Counts
1 → 33
Calls

1 calls:

11.0ms
(*.f64 y (+.f64 y (+.f64 y y)))
Compiler

Compiled 560 to 155 computations (72.3% saved)

series37.0ms (0.6%)

Error
0.1b
Counts
1 → 3
Calls

1 calls:

34.0ms
(*.f64 y (+.f64 y (+.f64 y y)))
Compiler

Compiled 81 to 66 computations (18.5% saved)

simplify179.0ms (3%)

Algorithm
egg-herbie
Rules
567×associate-*l/_binary64_22186
427×associate-*r/_binary64_22185
372×associate-+r+_binary64_22175
352×times-frac_binary64_22249
301×distribute-rgt-in_binary64_22193
257×distribute-lft-in_binary64_22192
194×exp-prod_binary64_22295
189×*-commutative_binary64_22174
180×distribute-rgt-out_binary64_22196
161×log-prod_binary64_22329
150×associate-/l*_binary64_22188
143×log-div_binary64_22330
94×unswap-sqr_binary64_22211
93×associate-*l*_binary64_22184
88×cancel-sign-sub-inv_binary64_22209
86×associate-/r*_binary64_22187
78×associate-*r*_binary64_22183
64×associate-/r/_binary64_22189
56×sqr-pow_binary64_22215
52×exp-sqrt_binary64_22296
43×associate-+l+_binary64_22176
42×+-commutative_binary64_22173
40×distribute-rgt-neg-in_binary64_22201 distribute-lft-neg-in_binary64_22200
34×associate-+l-_binary64_22178
28×cube-prod_binary64_22271 sub-neg_binary64_22236
27×swap-sqr_binary64_22210
26×distribute-lft-out_binary64_22194 associate-/l/_binary64_22190 associate-+r-_binary64_22177
25×*-rgt-identity_binary64_22233 distribute-rgt-out--_binary64_22197 count-2_binary64_22191
24×distribute-rgt1-in_binary64_22199
21×pow-plus_binary64_22306 *-lft-identity_binary64_22232
18×pow-sqr_binary64_22216
16×unpow3_binary64_22309 exp-lft-sqr_binary64_22298 associate--l-_binary64_22181
15×distribute-neg-in_binary64_22204
13×associate--r+_binary64_22179
12×cube-div_binary64_22272 associate--l+_binary64_22180
11×log-pow_binary64_22332 log-rec_binary64_22331 neg-mul-1_binary64_22239 neg-sub0_binary64_22238
distribute-neg-frac_binary64_22207
exp-sum_binary64_22289 distribute-rgt-neg-out_binary64_22203 distribute-lft-neg-out_binary64_22202
unsub-neg_binary64_22237 distribute-lft1-in_binary64_22198
cube-mult_binary64_22273 difference-of-squares_binary64_22212
distribute-lft-out--_binary64_22195
exp-to-pow_binary64_22305
pow-base-1_binary64_22303 cube-unmult_binary64_22280 +-inverses_binary64_22222
unpow2_binary64_22308 exp-diff_binary64_22291 +-rgt-identity_binary64_22228
unpow1_binary64_22301 prod-exp_binary64_22292 1-exp_binary64_22287 exp-1-e_binary64_22286 rem-log-exp_binary64_22284 rem-sqrt-square_binary64_22256 /-rgt-identity_binary64_22234 sub0-neg_binary64_22230 *-inverses_binary64_22223 difference-of-sqr-1_binary64_22213
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_22506 erf-erfc_binary64_22505 erf-odd_binary64_22504 if-if-and-not_binary64_22503 if-if-and_binary64_22502 if-if-or-not_binary64_22501 if-if-or_binary64_22500 if-not_binary64_22499 if-same_binary64_22498 if-false_binary64_22497 if-true_binary64_22496 not-gte_binary64_22495 not-lte_binary64_22494 not-gt_binary64_22493 not-lt_binary64_22492 gte-same_binary64_22491 lte-same_binary64_22490 gt-same_binary64_22489 lt-same_binary64_22488 sinh---cosh_binary64_22435 sinh-+-cosh_binary64_22434 sinh-cosh_binary64_22433 tanh-def-c_binary64_22432 tanh-def-b_binary64_22431 tanh-def-a_binary64_22430 cosh-def_binary64_22429 sinh-def_binary64_22428 tan-neg_binary64_22375 cos-neg_binary64_22374 sin-neg_binary64_22373 tan-0_binary64_22372 cos-0_binary64_22371 sin-0_binary64_22370 hang-m-tan_binary64_22369 hang-p-tan_binary64_22368 hang-m0-tan_binary64_22367 hang-p0-tan_binary64_22366 hang-0m-tan_binary64_22365 hang-0p-tan_binary64_22364 tan-+PI/2_binary64_22363 tan-+PI_binary64_22362 tan-PI_binary64_22361 tan-PI/3_binary64_22360 tan-PI/4_binary64_22359 tan-PI/6_binary64_22358 cos-+PI/2_binary64_22357 cos-+PI_binary64_22356 cos-PI_binary64_22355 cos-PI/2_binary64_22354 cos-PI/3_binary64_22353 cos-PI/4_binary64_22352 cos-PI/6_binary64_22351 sin-+PI/2_binary64_22350 sin-+PI_binary64_22349 sin-PI_binary64_22348 sin-PI/2_binary64_22347 sin-PI/3_binary64_22346 sin-PI/4_binary64_22345 sin-PI/6_binary64_22344 sub-1-sin_binary64_22343 sub-1-cos_binary64_22342 -1-add-sin_binary64_22341 -1-add-cos_binary64_22340 1-sub-sin_binary64_22339 1-sub-cos_binary64_22338 cos-sin-sum_binary64_22337 log-E_binary64_22333 pow-base-0_binary64_22327 unpow1/3_binary64_22310 unpow1/2_binary64_22307 unpow0_binary64_22302 unpow-1_binary64_22300 exp-lft-cube_binary64_22299 exp-cbrt_binary64_22297 div-exp_binary64_22294 rec-exp_binary64_22293 exp-neg_binary64_22290 e-exp-1_binary64_22288 exp-0_binary64_22285 rem-exp-log_binary64_22283 cube-neg_binary64_22270 rem-3cbrt-rft_binary64_22269 rem-3cbrt-lft_binary64_22268 rem-cbrt-cube_binary64_22267 rem-cube-cbrt_binary64_22266 sqr-abs_binary64_22258 sqr-neg_binary64_22257 rem-square-sqrt_binary64_22255 div-sub_binary64_22248 mul-1-neg_binary64_22235 remove-double-neg_binary64_22231 --rgt-identity_binary64_22229 +-lft-identity_binary64_22227 mul0-rgt_binary64_22226 mul0-lft_binary64_22225 div0_binary64_22224 lft-mult-inverse_binary64_22221 rgt-mult-inverse_binary64_22220 remove-double-div_binary64_22219 difference-of-sqr--1_binary64_22214 cancel-sign-sub_binary64_22208 distribute-frac-neg_binary64_22206 distribute-neg-out_binary64_22205 associate--r-_binary64_22182
Counts
36 → 29
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053419
1149368
2546364
31459361
44411361

prune34.0ms (0.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New24529
Fresh011
Picked011
Done000
Total24731
Error
0.0b
Counts
31 → 7
Compiler

Compiled 543 to 182 computations (66.5% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.2b
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))

rewrite18.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64_22282
associate-+r+_binary64_22175
sum-log_binary64_22334 pow1_binary64_22304 add-exp-log_binary64_22281 add-cbrt-cube_binary64_22279 add-cube-cbrt_binary64_22278 add-sqr-sqrt_binary64_22265 flip3-+_binary64_22246 *-un-lft-identity_binary64_22243 flip-+_binary64_22217 distribute-lft-out_binary64_22194 distribute-rgt-in_binary64_22193 distribute-lft-in_binary64_22192 +-commutative_binary64_22173
Counts
1 → 14
Calls

1 calls:

4.0ms
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
Compiler

Compiled 305 to 59 computations (80.7% saved)

series45.0ms (0.8%)

Error
0.0b
Counts
1 → 3
Calls

1 calls:

43.0ms
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
Compiler

Compiled 81 to 66 computations (18.5% saved)

simplify187.0ms (3.1%)

Algorithm
egg-herbie
Rules
570×distribute-rgt-in_binary64_22193
382×distribute-lft-in_binary64_22192
287×associate-*l*_binary64_22184
278×cancel-sign-sub-inv_binary64_22209
250×associate-*r*_binary64_22183
246×*-commutative_binary64_22174
224×sub-neg_binary64_22236
214×associate-+l+_binary64_22176
203×associate-+r+_binary64_22175
175×unswap-sqr_binary64_22211
163×difference-of-squares_binary64_22212
140×unsub-neg_binary64_22237
131×exp-prod_binary64_22295
117×sqr-pow_binary64_22215
113×distribute-rgt-out--_binary64_22197
107×distribute-rgt-neg-in_binary64_22201
93×distribute-rgt-out_binary64_22196
88×distribute-lft-neg-in_binary64_22200
87×div-sub_binary64_22248
83×exp-sum_binary64_22289
72×distribute-lft-out--_binary64_22195
61×pow-sqr_binary64_22216 swap-sqr_binary64_22210 associate-+l-_binary64_22178
59×cube-prod_binary64_22271
55×neg-mul-1_binary64_22239
53×neg-sub0_binary64_22238
52×exp-diff_binary64_22291 associate--l+_binary64_22180
44×associate-*l/_binary64_22186 associate-+r-_binary64_22177
42×distribute-lft-out_binary64_22194
41×associate--r+_binary64_22179
38×times-frac_binary64_22249 distribute-rgt1-in_binary64_22199
34×associate-*r/_binary64_22185
33×log-prod_binary64_22329
31×pow-plus_binary64_22306
29×associate--l-_binary64_22181
27×+-commutative_binary64_22173
24×cube-div_binary64_22272
22×distribute-lft-neg-out_binary64_22202
21×associate-/l*_binary64_22188
20×+-inverses_binary64_22222
19×associate-/r*_binary64_22187
18×mul0-lft_binary64_22225
15×unpow3_binary64_22309 cube-unmult_binary64_22280
14×*-rgt-identity_binary64_22233 *-lft-identity_binary64_22232 +-rgt-identity_binary64_22228 distribute-neg-in_binary64_22204 associate-/l/_binary64_22190 associate-/r/_binary64_22189
13×mul0-rgt_binary64_22226
12×distribute-lft1-in_binary64_22198 count-2_binary64_22191
11×/-rgt-identity_binary64_22234
10×log-div_binary64_22330 exp-sqrt_binary64_22296 cube-mult_binary64_22273 sub0-neg_binary64_22230 distribute-rgt-neg-out_binary64_22203
log-pow_binary64_22332
exp-lft-sqr_binary64_22298
unpow1_binary64_22301 remove-double-neg_binary64_22231 associate--r-_binary64_22182
cancel-sign-sub_binary64_22208
log-rec_binary64_22331 unpow2_binary64_22308 rec-exp_binary64_22293 prod-exp_binary64_22292 1-exp_binary64_22287 exp-1-e_binary64_22286 sqr-neg_binary64_22257 +-lft-identity_binary64_22227 *-inverses_binary64_22223 rgt-mult-inverse_binary64_22220 distribute-neg-frac_binary64_22207 distribute-neg-out_binary64_22205
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_22506 erf-erfc_binary64_22505 erf-odd_binary64_22504 if-if-and-not_binary64_22503 if-if-and_binary64_22502 if-if-or-not_binary64_22501 if-if-or_binary64_22500 if-not_binary64_22499 if-same_binary64_22498 if-false_binary64_22497 if-true_binary64_22496 not-gte_binary64_22495 not-lte_binary64_22494 not-gt_binary64_22493 not-lt_binary64_22492 gte-same_binary64_22491 lte-same_binary64_22490 gt-same_binary64_22489 lt-same_binary64_22488 sinh---cosh_binary64_22435 sinh-+-cosh_binary64_22434 sinh-cosh_binary64_22433 tanh-def-c_binary64_22432 tanh-def-b_binary64_22431 tanh-def-a_binary64_22430 cosh-def_binary64_22429 sinh-def_binary64_22428 tan-neg_binary64_22375 cos-neg_binary64_22374 sin-neg_binary64_22373 tan-0_binary64_22372 cos-0_binary64_22371 sin-0_binary64_22370 hang-m-tan_binary64_22369 hang-p-tan_binary64_22368 hang-m0-tan_binary64_22367 hang-p0-tan_binary64_22366 hang-0m-tan_binary64_22365 hang-0p-tan_binary64_22364 tan-+PI/2_binary64_22363 tan-+PI_binary64_22362 tan-PI_binary64_22361 tan-PI/3_binary64_22360 tan-PI/4_binary64_22359 tan-PI/6_binary64_22358 cos-+PI/2_binary64_22357 cos-+PI_binary64_22356 cos-PI_binary64_22355 cos-PI/2_binary64_22354 cos-PI/3_binary64_22353 cos-PI/4_binary64_22352 cos-PI/6_binary64_22351 sin-+PI/2_binary64_22350 sin-+PI_binary64_22349 sin-PI_binary64_22348 sin-PI/2_binary64_22347 sin-PI/3_binary64_22346 sin-PI/4_binary64_22345 sin-PI/6_binary64_22344 sub-1-sin_binary64_22343 sub-1-cos_binary64_22342 -1-add-sin_binary64_22341 -1-add-cos_binary64_22340 1-sub-sin_binary64_22339 1-sub-cos_binary64_22338 cos-sin-sum_binary64_22337 log-E_binary64_22333 pow-base-0_binary64_22327 unpow1/3_binary64_22310 unpow1/2_binary64_22307 exp-to-pow_binary64_22305 pow-base-1_binary64_22303 unpow0_binary64_22302 unpow-1_binary64_22300 exp-lft-cube_binary64_22299 exp-cbrt_binary64_22297 div-exp_binary64_22294 exp-neg_binary64_22290 e-exp-1_binary64_22288 exp-0_binary64_22285 rem-log-exp_binary64_22284 rem-exp-log_binary64_22283 cube-neg_binary64_22270 rem-3cbrt-rft_binary64_22269 rem-3cbrt-lft_binary64_22268 rem-cbrt-cube_binary64_22267 rem-cube-cbrt_binary64_22266 sqr-abs_binary64_22258 rem-sqrt-square_binary64_22256 rem-square-sqrt_binary64_22255 mul-1-neg_binary64_22235 --rgt-identity_binary64_22229 div0_binary64_22224 lft-mult-inverse_binary64_22221 remove-double-div_binary64_22219 difference-of-sqr--1_binary64_22214 difference-of-sqr-1_binary64_22213 distribute-frac-neg_binary64_22206
Counts
17 → 58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032259
1109229
2458203
31417197
43727197

prune83.0ms (1.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New55358
Fresh325
Picked011
Done011
Total58765
Error
0.0b
Counts
65 → 7
Compiler

Compiled 1587 to 530 computations (66.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
0.4b
(*.f64 (sqrt.f64 (+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))) (sqrt.f64 (*.f64 y (+.f64 y (+.f64 y y)))))
17.7b
(sqrt.f64 (*.f64 y (+.f64 y (+.f64 y y))))
17.7b
(sqrt.f64 (+.f64 (*.f64 y y) (*.f64 y (+.f64 y y))))

rewrite138.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
16×sqrt-div_binary64_22260
15×pow1_binary64_22304
13×add-sqr-sqrt_binary64_22265 sqrt-prod_binary64_22259
10×associate-*r/_binary64_22185
flip3-+_binary64_22246 flip-+_binary64_22217
add-cube-cbrt_binary64_22278 *-un-lft-identity_binary64_22243
sqrt-pow1_binary64_22261 associate-*l*_binary64_22184
add-log-exp_binary64_22282 add-exp-log_binary64_22281 add-cbrt-cube_binary64_22279 pow-prod-down_binary64_22314
pow1/2_binary64_22323 distribute-lft-out_binary64_22194 frac-times_binary64_22253 associate-*r*_binary64_22183
unswap-sqr_binary64_22211 associate-*l/_binary64_22186 associate-+r+_binary64_22175
rem-sqrt-square_binary64_22256 prod-exp_binary64_22292 cbrt-unprod_binary64_22276 sqrt-unprod_binary64_22263 swap-sqr_binary64_22210 *-commutative_binary64_22174 sum-log_binary64_22334 distribute-rgt-in_binary64_22193 distribute-lft-in_binary64_22192 +-commutative_binary64_22173
Counts
4 → 80
Calls

4 calls:

17.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))) (sqrt.f64 (*.f64 y (+.f64 y (+.f64 y y)))))
8.0ms
(sqrt.f64 (*.f64 y (+.f64 y (+.f64 y y))))
4.0ms
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 y y) (*.f64 y (+.f64 y y))))
Compiler

Compiled 2836 to 383 computations (86.5% saved)

series236.0ms (3.9%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

77.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))) (sqrt.f64 (*.f64 y (+.f64 y (+.f64 y y)))))
50.0ms
(sqrt.f64 (*.f64 y (+.f64 y (+.f64 y y))))
48.0ms
(sqrt.f64 (+.f64 (*.f64 y y) (*.f64 y (+.f64 y y))))
46.0ms
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
Compiler

Compiled 615 to 398 computations (35.3% saved)

simplify1.2s (20.6%)

Algorithm
egg-herbie
Rules
297×distribute-lft-out--_binary64_22195
257×distribute-rgt-in_binary64_22193
235×distribute-rgt-neg-in_binary64_22201
230×times-frac_binary64_22249
217×distribute-lft-neg-in_binary64_22200
202×distribute-rgt-out--_binary64_22197
186×unswap-sqr_binary64_22211
183×distribute-lft-in_binary64_22192
176×*-commutative_binary64_22174
171×distribute-rgt-out_binary64_22196
141×cancel-sign-sub-inv_binary64_22209
135×associate-*l*_binary64_22184
134×associate-*r*_binary64_22183
116×difference-of-squares_binary64_22212
113×sqr-pow_binary64_22215
109×exp-prod_binary64_22295
98×sub-neg_binary64_22236
91×distribute-lft-out_binary64_22194
83×cube-prod_binary64_22271
73×swap-sqr_binary64_22210 associate-/r/_binary64_22189
67×distribute-rgt1-in_binary64_22199
63×distribute-neg-in_binary64_22204
62×unsub-neg_binary64_22237
60×log-prod_binary64_22329
59×count-2_binary64_22191
49×exp-sum_binary64_22289 pow-sqr_binary64_22216
42×associate-+l+_binary64_22176
38×distribute-lft-neg-out_binary64_22202
37×neg-mul-1_binary64_22239
36×neg-sub0_binary64_22238 associate-/l/_binary64_22190 associate-+r+_binary64_22175
29×rem-sqrt-square_binary64_22256 associate-*r/_binary64_22185
27×pow-plus_binary64_22306
26×distribute-rgt-neg-out_binary64_22203
24×associate-*l/_binary64_22186
22×exp-diff_binary64_22291
20×*-rgt-identity_binary64_22233
19×associate--l+_binary64_22180 +-commutative_binary64_22173
18×unpow3_binary64_22309 associate-+r-_binary64_22177
17×*-lft-identity_binary64_22232 associate--r+_binary64_22179
13×cube-mult_binary64_22273 associate-+l-_binary64_22178
11×log-div_binary64_22330 cube-unmult_binary64_22280 cube-div_binary64_22272 +-inverses_binary64_22222
10×exp-sqrt_binary64_22296 mul0-lft_binary64_22225
+-rgt-identity_binary64_22228 distribute-neg-out_binary64_22205 associate-/l*_binary64_22188
div-sub_binary64_22248 associate--l-_binary64_22181
mul0-rgt_binary64_22226 distribute-lft1-in_binary64_22198
log-pow_binary64_22332 rem-square-sqrt_binary64_22255
sub0-neg_binary64_22230
exp-lft-sqr_binary64_22298 cancel-sign-sub_binary64_22208 distribute-neg-frac_binary64_22207
unpow2_binary64_22308 exp-to-pow_binary64_22305 unpow1_binary64_22301 prod-exp_binary64_22292 mul-1-neg_binary64_22235 /-rgt-identity_binary64_22234
1-exp_binary64_22287 exp-1-e_binary64_22286 rem-log-exp_binary64_22284 *-inverses_binary64_22223 difference-of-sqr--1_binary64_22214
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_22506 erf-erfc_binary64_22505 erf-odd_binary64_22504 if-if-and-not_binary64_22503 if-if-and_binary64_22502 if-if-or-not_binary64_22501 if-if-or_binary64_22500 if-not_binary64_22499 if-same_binary64_22498 if-false_binary64_22497 if-true_binary64_22496 not-gte_binary64_22495 not-lte_binary64_22494 not-gt_binary64_22493 not-lt_binary64_22492 gte-same_binary64_22491 lte-same_binary64_22490 gt-same_binary64_22489 lt-same_binary64_22488 sinh---cosh_binary64_22435 sinh-+-cosh_binary64_22434 sinh-cosh_binary64_22433 tanh-def-c_binary64_22432 tanh-def-b_binary64_22431 tanh-def-a_binary64_22430 cosh-def_binary64_22429 sinh-def_binary64_22428 tan-neg_binary64_22375 cos-neg_binary64_22374 sin-neg_binary64_22373 tan-0_binary64_22372 cos-0_binary64_22371 sin-0_binary64_22370 hang-m-tan_binary64_22369 hang-p-tan_binary64_22368 hang-m0-tan_binary64_22367 hang-p0-tan_binary64_22366 hang-0m-tan_binary64_22365 hang-0p-tan_binary64_22364 tan-+PI/2_binary64_22363 tan-+PI_binary64_22362 tan-PI_binary64_22361 tan-PI/3_binary64_22360 tan-PI/4_binary64_22359 tan-PI/6_binary64_22358 cos-+PI/2_binary64_22357 cos-+PI_binary64_22356 cos-PI_binary64_22355 cos-PI/2_binary64_22354 cos-PI/3_binary64_22353 cos-PI/4_binary64_22352 cos-PI/6_binary64_22351 sin-+PI/2_binary64_22350 sin-+PI_binary64_22349 sin-PI_binary64_22348 sin-PI/2_binary64_22347 sin-PI/3_binary64_22346 sin-PI/4_binary64_22345 sin-PI/6_binary64_22344 sub-1-sin_binary64_22343 sub-1-cos_binary64_22342 -1-add-sin_binary64_22341 -1-add-cos_binary64_22340 1-sub-sin_binary64_22339 1-sub-cos_binary64_22338 cos-sin-sum_binary64_22337 log-E_binary64_22333 log-rec_binary64_22331 pow-base-0_binary64_22327 unpow1/3_binary64_22310 unpow1/2_binary64_22307 pow-base-1_binary64_22303 unpow0_binary64_22302 unpow-1_binary64_22300 exp-lft-cube_binary64_22299 exp-cbrt_binary64_22297 div-exp_binary64_22294 rec-exp_binary64_22293 exp-neg_binary64_22290 e-exp-1_binary64_22288 exp-0_binary64_22285 rem-exp-log_binary64_22283 cube-neg_binary64_22270 rem-3cbrt-rft_binary64_22269 rem-3cbrt-lft_binary64_22268 rem-cbrt-cube_binary64_22267 rem-cube-cbrt_binary64_22266 sqr-abs_binary64_22258 sqr-neg_binary64_22257 remove-double-neg_binary64_22231 --rgt-identity_binary64_22229 +-lft-identity_binary64_22227 div0_binary64_22224 lft-mult-inverse_binary64_22221 rgt-mult-inverse_binary64_22220 remove-double-div_binary64_22219 difference-of-sqr-1_binary64_22213 distribute-frac-neg_binary64_22206 associate-/r*_binary64_22187 associate--r-_binary64_22182
Counts
92 → 332
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131902
12401697
29351533
324471471

prune462.0ms (7.7%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3302332
Fresh224
Picked101
Done022
Total3336339
Error
0.0b
Counts
339 → 6
Compiler

Compiled 11787 to 3348 computations (71.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 y)

rewrite90.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×cbrt-prod_binary64_22274
23×add-sqr-sqrt_binary64_22265
15×add-cube-cbrt_binary64_22278 *-un-lft-identity_binary64_22243
11×pow1_binary64_22304
pow1/3_binary64_22325
add-exp-log_binary64_22281 swap-sqr_binary64_22210 associate-*l*_binary64_22184 associate-*r*_binary64_22183
add-log-exp_binary64_22282 add-cbrt-cube_binary64_22279 unswap-sqr_binary64_22211
pow-prod-down_binary64_22314 pow-prod-up_binary64_22313 pow-sqr_binary64_22216
pow2_binary64_22324 pow-plus_binary64_22306 prod-exp_binary64_22292 cbrt-unprod_binary64_22276 *-commutative_binary64_22174
Counts
4 → 73
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
Compiler

Compiled 1670 to 317 computations (81% saved)

series496.0ms (8.3%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

146.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
120.0ms
(cbrt.f64 y)
113.0ms
(cbrt.f64 y)
105.0ms
(cbrt.f64 y)
Compiler

Compiled 735 to 425 computations (42.2% saved)

simplify334.0ms (5.6%)

Algorithm
egg-herbie
Rules
545×log-prod_binary64_22329
427×log-div_binary64_22330
416×associate-/l*_binary64_22188
347×associate-*l*_binary64_22184
293×associate-/r*_binary64_22187
231×associate-*r*_binary64_22183
203×*-commutative_binary64_22174
184×associate-/r/_binary64_22189
150×distribute-rgt-neg-in_binary64_22201
144×distribute-lft-neg-in_binary64_22200
140×exp-prod_binary64_22295
128×distribute-rgt-in_binary64_22193
123×unswap-sqr_binary64_22211
112×cube-prod_binary64_22271
95×distribute-lft-in_binary64_22192
86×swap-sqr_binary64_22210
80×associate-/l/_binary64_22190
77×sqr-pow_binary64_22215
55×log-pow_binary64_22332 distribute-rgt-out_binary64_22196
52×times-frac_binary64_22249
47×cancel-sign-sub-inv_binary64_22209
42×associate-+l+_binary64_22176
39×associate-+r+_binary64_22175
38×associate-*l/_binary64_22186
37×pow-sqr_binary64_22216
30×distribute-lft-out_binary64_22194
29×cube-div_binary64_22272
28×distribute-neg-frac_binary64_22207
24×log-rec_binary64_22331 *-rgt-identity_binary64_22233
23×*-lft-identity_binary64_22232
22×pow-plus_binary64_22306
21×associate-*r/_binary64_22185
19×exp-sqrt_binary64_22296
18×rem-sqrt-square_binary64_22256
15×cube-unmult_binary64_22280
13×neg-mul-1_binary64_22239 neg-sub0_binary64_22238
12×associate-+l-_binary64_22178
exp-lft-sqr_binary64_22298 distribute-rgt-neg-out_binary64_22203 distribute-lft-neg-out_binary64_22202
distribute-rgt1-in_binary64_22199 count-2_binary64_22191
unpow3_binary64_22309 associate--l-_binary64_22181 associate--l+_binary64_22180
associate-+r-_binary64_22177 +-commutative_binary64_22173
div-exp_binary64_22294 prod-exp_binary64_22292 distribute-rgt-out--_binary64_22197
unpow1/3_binary64_22310 unpow2_binary64_22308 sub-neg_binary64_22236 distribute-lft-out--_binary64_22195
unpow1_binary64_22301 rec-exp_binary64_22293 exp-sum_binary64_22289 cube-mult_binary64_22273 rem-3cbrt-lft_binary64_22268 rem-cbrt-cube_binary64_22267 /-rgt-identity_binary64_22234 distribute-lft1-in_binary64_22198
pow-base-1_binary64_22303 exp-diff_binary64_22291 1-exp_binary64_22287 exp-1-e_binary64_22286 rem-log-exp_binary64_22284 rem-3cbrt-rft_binary64_22269 rem-square-sqrt_binary64_22255 mul-1-neg_binary64_22235 mul0-lft_binary64_22225 *-inverses_binary64_22223 distribute-neg-out_binary64_22205
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_22506 erf-erfc_binary64_22505 erf-odd_binary64_22504 if-if-and-not_binary64_22503 if-if-and_binary64_22502 if-if-or-not_binary64_22501 if-if-or_binary64_22500 if-not_binary64_22499 if-same_binary64_22498 if-false_binary64_22497 if-true_binary64_22496 not-gte_binary64_22495 not-lte_binary64_22494 not-gt_binary64_22493 not-lt_binary64_22492 gte-same_binary64_22491 lte-same_binary64_22490 gt-same_binary64_22489 lt-same_binary64_22488 sinh---cosh_binary64_22435 sinh-+-cosh_binary64_22434 sinh-cosh_binary64_22433 tanh-def-c_binary64_22432 tanh-def-b_binary64_22431 tanh-def-a_binary64_22430 cosh-def_binary64_22429 sinh-def_binary64_22428 tan-neg_binary64_22375 cos-neg_binary64_22374 sin-neg_binary64_22373 tan-0_binary64_22372 cos-0_binary64_22371 sin-0_binary64_22370 hang-m-tan_binary64_22369 hang-p-tan_binary64_22368 hang-m0-tan_binary64_22367 hang-p0-tan_binary64_22366 hang-0m-tan_binary64_22365 hang-0p-tan_binary64_22364 tan-+PI/2_binary64_22363 tan-+PI_binary64_22362 tan-PI_binary64_22361 tan-PI/3_binary64_22360 tan-PI/4_binary64_22359 tan-PI/6_binary64_22358 cos-+PI/2_binary64_22357 cos-+PI_binary64_22356 cos-PI_binary64_22355 cos-PI/2_binary64_22354 cos-PI/3_binary64_22353 cos-PI/4_binary64_22352 cos-PI/6_binary64_22351 sin-+PI/2_binary64_22350 sin-+PI_binary64_22349 sin-PI_binary64_22348 sin-PI/2_binary64_22347 sin-PI/3_binary64_22346 sin-PI/4_binary64_22345 sin-PI/6_binary64_22344 sub-1-sin_binary64_22343 sub-1-cos_binary64_22342 -1-add-sin_binary64_22341 -1-add-cos_binary64_22340 1-sub-sin_binary64_22339 1-sub-cos_binary64_22338 cos-sin-sum_binary64_22337 log-E_binary64_22333 pow-base-0_binary64_22327 unpow1/2_binary64_22307 exp-to-pow_binary64_22305 unpow0_binary64_22302 unpow-1_binary64_22300 exp-lft-cube_binary64_22299 exp-cbrt_binary64_22297 exp-neg_binary64_22290 e-exp-1_binary64_22288 exp-0_binary64_22285 rem-exp-log_binary64_22283 cube-neg_binary64_22270 rem-cube-cbrt_binary64_22266 sqr-abs_binary64_22258 sqr-neg_binary64_22257 div-sub_binary64_22248 unsub-neg_binary64_22237 remove-double-neg_binary64_22231 sub0-neg_binary64_22230 --rgt-identity_binary64_22229 +-rgt-identity_binary64_22228 +-lft-identity_binary64_22227 mul0-rgt_binary64_22226 div0_binary64_22224 +-inverses_binary64_22222 lft-mult-inverse_binary64_22221 rgt-mult-inverse_binary64_22220 remove-double-div_binary64_22219 difference-of-sqr--1_binary64_22214 difference-of-sqr-1_binary64_22213 difference-of-squares_binary64_22212 cancel-sign-sub_binary64_22208 distribute-frac-neg_binary64_22206 distribute-neg-in_binary64_22204 associate--r-_binary64_22182 associate--r+_binary64_22179
Counts
85 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055718
197656
2345636
31343633
44059633

prune83.0ms (1.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New81283
Fresh123
Picked101
Done022
Total83689
Error
0.0b
Counts
89 → 6
Compiler

Compiled 1911 to 385 computations (79.9% saved)

regimes437.0ms (7.3%)

Accuracy

Total 0.1b remaining (96.1%)

Threshold costs 0.1b (96.1%)

Compiler

Compiled 5369 to 3035 computations (43.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_22173
*-commutative_binary64_22174
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_22503 if-if-and_binary64_22502 if-if-or-not_binary64_22501 if-if-or_binary64_22500 if-not_binary64_22499 if-same_binary64_22498 if-false_binary64_22497 if-true_binary64_22496 tan-0_binary64_22372 cos-0_binary64_22371 sin-0_binary64_22370 unpow1_binary64_22301 e-exp-1_binary64_22288 1-exp_binary64_22287 exp-1-e_binary64_22286 exp-0_binary64_22285 sqr-abs_binary64_22258 sqr-neg_binary64_22257 neg-mul-1_binary64_22239 neg-sub0_binary64_22238 unsub-neg_binary64_22237 sub-neg_binary64_22236 mul-1-neg_binary64_22235 /-rgt-identity_binary64_22234 *-rgt-identity_binary64_22233 *-lft-identity_binary64_22232 remove-double-neg_binary64_22231 sub0-neg_binary64_22230 --rgt-identity_binary64_22229 +-rgt-identity_binary64_22228 +-lft-identity_binary64_22227 cancel-sign-sub-inv_binary64_22209 cancel-sign-sub_binary64_22208 distribute-neg-frac_binary64_22207 distribute-frac-neg_binary64_22206 distribute-neg-out_binary64_22205 distribute-neg-in_binary64_22204 distribute-rgt-neg-out_binary64_22203 distribute-lft-neg-out_binary64_22202 distribute-rgt-neg-in_binary64_22201 distribute-lft-neg-in_binary64_22200
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
11116
Proof
(+ f64 (* f64 h0 h0) (* f64 h1 (+ f64 h1 (+ f64 h1 h1))))

end0.0ms (0%)

sample1.2s (19.5%)

Algorithm
intervals
Results
223.0ms8000×body128valid
0.0ms12×body128invalid
Compiler

Compiled 1089 to 615 computations (43.5% saved)

Profiling

Loading profile data...