Details

Time bar (total: 8.3s)

analyze24.0ms (0.3%)

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
25%74.9%0.1%4
37.5%62.4%0.1%5
62.4%37.5%0.1%6
87.4%12.5%0.1%7
87.4%12.5%0.1%8
93.7%6.2%0.1%9
93.7%6.2%0.1%10
96.8%3.1%0.1%11
96.8%3.1%0.1%12
98.3%1.6%0.1%13
98.3%1.6%0.1%14
Compiler

Compiled 8 to 6 computations (25% saved)

sample13.0ms (0.2%)

Algorithm
intervals
Results
5.0ms256×body128valid
Compiler

Compiled 15 to 13 computations (13.3% saved)

simplify902.0ms (10.9%)

Algorithm
egg-herbie
Rules
1217×exp-prod_binary64_9337
899×div-sub_binary64_9290
551×distribute-rgt-out--_binary64_9239
523×distribute-rgt-out_binary64_9238
496×cube-prod_binary64_9313
433×swap-sqr_binary64_9252
319×distribute-rgt-neg-in_binary64_9243
269×sub-neg_binary64_9278
257×exp-diff_binary64_9333
255×exp-sum_binary64_9331
189×cancel-sign-sub-inv_binary64_9251 associate--r-_binary64_9224
172×unsub-neg_binary64_9279
171×*-commutative_binary64_9216
146×associate--l-_binary64_9223
118×pow-plus_binary64_9348 associate-+r-_binary64_9219
83×associate-+l-_binary64_9220
74×+-commutative_binary64_9215
49×distribute-lft-neg-in_binary64_9242
48×distribute-neg-out_binary64_9247
46×distribute-rgt1-in_binary64_9241
37×neg-mul-1_binary64_9281 sqr-pow_binary64_9257
36×associate-/r*_binary64_9229
35×distribute-rgt-in_binary64_9235
34×neg-sub0_binary64_9280
20×distribute-neg-in_binary64_9246
19×associate-*r*_binary64_9225
17×associate--r+_binary64_9221
15×sqr-neg_binary64_9299 +-inverses_binary64_9264 difference-of-squares_binary64_9254 distribute-lft-in_binary64_9234 associate-+l+_binary64_9218 associate-+r+_binary64_9217
14×pow-base-1_binary64_9345
13×count-2_binary64_9233
11×cube-unmult_binary64_9322 distribute-lft1-in_binary64_9240
10×exp-lft-sqr_binary64_9340 pow-sqr_binary64_9258 associate--l+_binary64_9222
remove-double-neg_binary64_9273 distribute-frac-neg_binary64_9248 distribute-rgt-neg-out_binary64_9245 distribute-lft-neg-out_binary64_9244
sub0-neg_binary64_9272
*-rgt-identity_binary64_9275 *-lft-identity_binary64_9274 +-rgt-identity_binary64_9270
+-lft-identity_binary64_9269 associate-*l*_binary64_9226
cube-div_binary64_9314 associate-*l/_binary64_9228
--rgt-identity_binary64_9271 div0_binary64_9266 difference-of-sqr--1_binary64_9256 distribute-lft-out--_binary64_9237 distribute-lft-out_binary64_9236
exp-neg_binary64_9332 mul0-lft_binary64_9267
unpow3_binary64_9351 1-exp_binary64_9329 exp-1-e_binary64_9328 cube-neg_binary64_9312 distribute-neg-frac_binary64_9249
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_9548 erf-erfc_binary64_9547 erf-odd_binary64_9546 if-if-and-not_binary64_9545 if-if-and_binary64_9544 if-if-or-not_binary64_9543 if-if-or_binary64_9542 if-not_binary64_9541 if-same_binary64_9540 if-false_binary64_9539 if-true_binary64_9538 not-gte_binary64_9537 not-lte_binary64_9536 not-gt_binary64_9535 not-lt_binary64_9534 gte-same_binary64_9533 lte-same_binary64_9532 gt-same_binary64_9531 lt-same_binary64_9530 sinh---cosh_binary64_9477 sinh-+-cosh_binary64_9476 sinh-cosh_binary64_9475 tanh-def-c_binary64_9474 tanh-def-b_binary64_9473 tanh-def-a_binary64_9472 cosh-def_binary64_9471 sinh-def_binary64_9470 tan-neg_binary64_9417 cos-neg_binary64_9416 sin-neg_binary64_9415 tan-0_binary64_9414 cos-0_binary64_9413 sin-0_binary64_9412 hang-m-tan_binary64_9411 hang-p-tan_binary64_9410 hang-m0-tan_binary64_9409 hang-p0-tan_binary64_9408 hang-0m-tan_binary64_9407 hang-0p-tan_binary64_9406 tan-+PI/2_binary64_9405 tan-+PI_binary64_9404 tan-PI_binary64_9403 tan-PI/3_binary64_9402 tan-PI/4_binary64_9401 tan-PI/6_binary64_9400 cos-+PI/2_binary64_9399 cos-+PI_binary64_9398 cos-PI_binary64_9397 cos-PI/2_binary64_9396 cos-PI/3_binary64_9395 cos-PI/4_binary64_9394 cos-PI/6_binary64_9393 sin-+PI/2_binary64_9392 sin-+PI_binary64_9391 sin-PI_binary64_9390 sin-PI/2_binary64_9389 sin-PI/3_binary64_9388 sin-PI/4_binary64_9387 sin-PI/6_binary64_9386 sub-1-sin_binary64_9385 sub-1-cos_binary64_9384 -1-add-sin_binary64_9383 -1-add-cos_binary64_9382 1-sub-sin_binary64_9381 1-sub-cos_binary64_9380 cos-sin-sum_binary64_9379 log-E_binary64_9375 log-pow_binary64_9374 log-rec_binary64_9373 log-div_binary64_9372 log-prod_binary64_9371 pow-base-0_binary64_9369 unpow1/3_binary64_9352 unpow2_binary64_9350 unpow1/2_binary64_9349 exp-to-pow_binary64_9347 unpow0_binary64_9344 unpow1_binary64_9343 unpow-1_binary64_9342 exp-lft-cube_binary64_9341 exp-cbrt_binary64_9339 exp-sqrt_binary64_9338 div-exp_binary64_9336 rec-exp_binary64_9335 prod-exp_binary64_9334 e-exp-1_binary64_9330 exp-0_binary64_9327 rem-log-exp_binary64_9326 rem-exp-log_binary64_9325 cube-mult_binary64_9315 rem-3cbrt-rft_binary64_9311 rem-3cbrt-lft_binary64_9310 rem-cbrt-cube_binary64_9309 rem-cube-cbrt_binary64_9308 sqr-abs_binary64_9300 rem-sqrt-square_binary64_9298 rem-square-sqrt_binary64_9297 times-frac_binary64_9291 mul-1-neg_binary64_9277 /-rgt-identity_binary64_9276 mul0-rgt_binary64_9268 *-inverses_binary64_9265 lft-mult-inverse_binary64_9263 rgt-mult-inverse_binary64_9262 remove-double-div_binary64_9261 difference-of-sqr-1_binary64_9255 unswap-sqr_binary64_9253 cancel-sign-sub_binary64_9250 associate-/l/_binary64_9232 associate-/r/_binary64_9231 associate-/l*_binary64_9230 associate-*r/_binary64_9227
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
1910
21410
32010
42810
54910
69310
721310
8183110
9251410

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 7 to 5 computations (28.6% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(/.f64 (+.f64 x y) (-.f64 x y))

rewrite47.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
34×*-un-lft-identity_binary64_9285
22×add-sqr-sqrt_binary64_9307
20×times-frac_binary64_9291
12×add-cube-cbrt_binary64_9320
distribute-lft-out_binary64_9236
difference-of-squares_binary64_9254 distribute-lft-out--_binary64_9237 associate-/r*_binary64_9229
associate-/l*_binary64_9230
add-exp-log_binary64_9323 add-cbrt-cube_binary64_9321
associate-/l/_binary64_9232 associate-/r/_binary64_9231
pow1_binary64_9346 div-exp_binary64_9336 add-log-exp_binary64_9324 cbrt-undiv_binary64_9319 frac-2neg_binary64_9296 clear-num_binary64_9284 div-inv_binary64_9282 flip3-+_binary64_9288 flip-+_binary64_9259 flip3--_binary64_9289 flip--_binary64_9260
Counts
1 → 45
Calls

1 calls:

8.0ms
(/.f64 (+.f64 x y) (-.f64 x y))
Compiler

Compiled 714 to 162 computations (77.3% saved)

series142.0ms (1.7%)

Error
0.0b
Counts
1 → 24
Calls

1 calls:

118.0ms
(/.f64 (+.f64 x y) (-.f64 x y))
Compiler

Compiled 642 to 532 computations (17.1% saved)

simplify247.0ms (3%)

Algorithm
egg-herbie
Rules
569×associate-/l/_binary64_9232
372×distribute-rgt-in_binary64_9235
361×cancel-sign-sub-inv_binary64_9251
311×distribute-lft-in_binary64_9234
190×times-frac_binary64_9291
177×associate-/l*_binary64_9230
137×associate-/r*_binary64_9229
122×distribute-rgt-out_binary64_9238
113×distribute-rgt-neg-in_binary64_9243
112×div-sub_binary64_9290
108×unsub-neg_binary64_9279 sub-neg_binary64_9278
106×distribute-lft-neg-in_binary64_9242
99×associate-*l*_binary64_9226
95×distribute-rgt-neg-out_binary64_9245 associate-*r/_binary64_9227
94×associate-*l/_binary64_9228
87×*-commutative_binary64_9216
84×associate-*r*_binary64_9225
81×distribute-neg-frac_binary64_9249
77×unswap-sqr_binary64_9253
74×distribute-lft-neg-out_binary64_9244
68×distribute-lft-out_binary64_9236
67×associate-/r/_binary64_9231
58×associate-+l+_binary64_9218
57×distribute-neg-in_binary64_9246
55×neg-sub0_binary64_9280 associate-+r+_binary64_9217
51×distribute-neg-out_binary64_9247
49×neg-mul-1_binary64_9281
47×+-commutative_binary64_9215
37×sqr-pow_binary64_9257
29×associate--r+_binary64_9221
28×difference-of-squares_binary64_9254
24×distribute-frac-neg_binary64_9248 distribute-rgt-out--_binary64_9239
22×pow-sqr_binary64_9258
20×associate-+r-_binary64_9219
18×associate-+l-_binary64_9220
16×distribute-rgt1-in_binary64_9241
15×cube-prod_binary64_9313 *-rgt-identity_binary64_9275 +-rgt-identity_binary64_9270
14×/-rgt-identity_binary64_9276 sub0-neg_binary64_9272
13×pow-plus_binary64_9348
12×*-lft-identity_binary64_9274
11×log-div_binary64_9372 log-prod_binary64_9371 swap-sqr_binary64_9252
10×cube-unmult_binary64_9322 cube-div_binary64_9314
div-exp_binary64_9336 prod-exp_binary64_9334
distribute-lft-out--_binary64_9237
cancel-sign-sub_binary64_9250 distribute-lft1-in_binary64_9240 associate--l+_binary64_9222
rec-exp_binary64_9335
unpow3_binary64_9351 unpow2_binary64_9350 unpow1_binary64_9343 exp-prod_binary64_9337 cube-mult_binary64_9315 sqr-neg_binary64_9299 rem-sqrt-square_binary64_9298 *-inverses_binary64_9265 count-2_binary64_9233 associate--r-_binary64_9224
log-pow_binary64_9374 log-rec_binary64_9373 exp-diff_binary64_9333 1-exp_binary64_9329 rem-log-exp_binary64_9326 cube-neg_binary64_9312 remove-double-neg_binary64_9273 --rgt-identity_binary64_9271 rgt-mult-inverse_binary64_9262 associate--l-_binary64_9223
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_9548 erf-erfc_binary64_9547 erf-odd_binary64_9546 if-if-and-not_binary64_9545 if-if-and_binary64_9544 if-if-or-not_binary64_9543 if-if-or_binary64_9542 if-not_binary64_9541 if-same_binary64_9540 if-false_binary64_9539 if-true_binary64_9538 not-gte_binary64_9537 not-lte_binary64_9536 not-gt_binary64_9535 not-lt_binary64_9534 gte-same_binary64_9533 lte-same_binary64_9532 gt-same_binary64_9531 lt-same_binary64_9530 sinh---cosh_binary64_9477 sinh-+-cosh_binary64_9476 sinh-cosh_binary64_9475 tanh-def-c_binary64_9474 tanh-def-b_binary64_9473 tanh-def-a_binary64_9472 cosh-def_binary64_9471 sinh-def_binary64_9470 tan-neg_binary64_9417 cos-neg_binary64_9416 sin-neg_binary64_9415 tan-0_binary64_9414 cos-0_binary64_9413 sin-0_binary64_9412 hang-m-tan_binary64_9411 hang-p-tan_binary64_9410 hang-m0-tan_binary64_9409 hang-p0-tan_binary64_9408 hang-0m-tan_binary64_9407 hang-0p-tan_binary64_9406 tan-+PI/2_binary64_9405 tan-+PI_binary64_9404 tan-PI_binary64_9403 tan-PI/3_binary64_9402 tan-PI/4_binary64_9401 tan-PI/6_binary64_9400 cos-+PI/2_binary64_9399 cos-+PI_binary64_9398 cos-PI_binary64_9397 cos-PI/2_binary64_9396 cos-PI/3_binary64_9395 cos-PI/4_binary64_9394 cos-PI/6_binary64_9393 sin-+PI/2_binary64_9392 sin-+PI_binary64_9391 sin-PI_binary64_9390 sin-PI/2_binary64_9389 sin-PI/3_binary64_9388 sin-PI/4_binary64_9387 sin-PI/6_binary64_9386 sub-1-sin_binary64_9385 sub-1-cos_binary64_9384 -1-add-sin_binary64_9383 -1-add-cos_binary64_9382 1-sub-sin_binary64_9381 1-sub-cos_binary64_9380 cos-sin-sum_binary64_9379 log-E_binary64_9375 pow-base-0_binary64_9369 unpow1/3_binary64_9352 unpow1/2_binary64_9349 exp-to-pow_binary64_9347 pow-base-1_binary64_9345 unpow0_binary64_9344 unpow-1_binary64_9342 exp-lft-cube_binary64_9341 exp-lft-sqr_binary64_9340 exp-cbrt_binary64_9339 exp-sqrt_binary64_9338 exp-neg_binary64_9332 exp-sum_binary64_9331 e-exp-1_binary64_9330 exp-1-e_binary64_9328 exp-0_binary64_9327 rem-exp-log_binary64_9325 rem-3cbrt-rft_binary64_9311 rem-3cbrt-lft_binary64_9310 rem-cbrt-cube_binary64_9309 rem-cube-cbrt_binary64_9308 sqr-abs_binary64_9300 rem-square-sqrt_binary64_9297 mul-1-neg_binary64_9277 +-lft-identity_binary64_9269 mul0-rgt_binary64_9268 mul0-lft_binary64_9267 div0_binary64_9266 +-inverses_binary64_9264 lft-mult-inverse_binary64_9263 remove-double-div_binary64_9261 difference-of-sqr--1_binary64_9256 difference-of-sqr-1_binary64_9255
Counts
69 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01071317
12651239
28271153
322781153

prune80.0ms (1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New84387
Fresh000
Picked011
Done000
Total84488
Error
0.0b
Counts
88 → 4
Compiler

Compiled 1476 to 610 computations (58.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x)) (pow.f64 (/.f64 y x) 3)))
0.1b
(*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x))
0.2b
(pow.f64 (/.f64 y x) 3)
7.5b
(+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x)) (pow.f64 (/.f64 y x) 3))

rewrite262.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
36×add-sqr-sqrt_binary64_9307
31×*-un-lft-identity_binary64_9285
29×add-cube-cbrt_binary64_9320
28×times-frac_binary64_9291
17×associate-*r*_binary64_9225
14×add-exp-log_binary64_9323 add-cbrt-cube_binary64_9321
13×unpow-prod-down_binary64_9364 cube-prod_binary64_9313
11×cube-div_binary64_9314
10×frac-add_binary64_9293 associate-*r/_binary64_9227
pow1_binary64_9346
flip3-+_binary64_9288 flip-+_binary64_9259
associate-*l*_binary64_9226
add-log-exp_binary64_9324 frac-times_binary64_9295 associate-*l/_binary64_9228
unpow3_binary64_9351 div-inv_binary64_9282 pow-unpow_binary64_9362 prod-exp_binary64_9334 cbrt-unprod_binary64_9318 unswap-sqr_binary64_9253
distribute-rgt-out_binary64_9238 div-exp_binary64_9336 pow-exp_binary64_9353 rem-cube-cbrt_binary64_9308 cbrt-undiv_binary64_9319 pow-prod-down_binary64_9356 *-commutative_binary64_9216
sum-log_binary64_9376 +-commutative_binary64_9215 pow-pow_binary64_9357 pow-to-exp_binary64_9354 cube-mult_binary64_9315 sqr-pow_binary64_9257 distribute-lft-out_binary64_9236 distribute-rgt-in_binary64_9235 distribute-lft-in_binary64_9234
Counts
4 → 128
Calls

4 calls:

22.0ms
(*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x)) (pow.f64 (/.f64 y x) 3)))
20.0ms
(+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x)) (pow.f64 (/.f64 y x) 3))
13.0ms
(*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x))
5.0ms
(pow.f64 (/.f64 y x) 3)
Compiler

Compiled 3936 to 2069 computations (47.4% saved)

series909.0ms (10.9%)

Error
0.0b
Counts
4 → 42
Calls

4 calls:

279.0ms
(*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x)) (pow.f64 (/.f64 y x) 3)))
232.0ms
(+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x)) (pow.f64 (/.f64 y x) 3))
224.0ms
(*.f64 (+.f64 (/.f64 y x) 1) (/.f64 y x))
132.0ms
(pow.f64 (/.f64 y x) 3)
Compiler

Compiled 1914 to 1479 computations (22.7% saved)

simplify1.3s (16.1%)

Algorithm
egg-herbie
Rules
380×associate-*l*_binary64_9226
359×associate-*r*_binary64_9225
208×cancel-sign-sub-inv_binary64_9251
164×distribute-rgt-out_binary64_9238
163×sqr-pow_binary64_9257
157×log-prod_binary64_9371
145×associate-*r/_binary64_9227
141×associate-*l/_binary64_9228
136×distribute-rgt-neg-in_binary64_9243
135×cube-prod_binary64_9313
133×exp-prod_binary64_9337
120×cube-div_binary64_9314
119×distribute-lft-neg-in_binary64_9242
114×distribute-lft-out_binary64_9236 *-commutative_binary64_9216
106×distribute-rgt-in_binary64_9235
96×distribute-lft-in_binary64_9234
95×associate-/l*_binary64_9230
85×pow-sqr_binary64_9258
75×distribute-neg-frac_binary64_9249
72×log-div_binary64_9372
64×times-frac_binary64_9291
57×*-rgt-identity_binary64_9275
51×swap-sqr_binary64_9252
48×*-lft-identity_binary64_9274
46×unpow3_binary64_9351
40×cube-mult_binary64_9315
39×associate-/r*_binary64_9229
37×distribute-rgt-out--_binary64_9239
34×log-pow_binary64_9374 sub-neg_binary64_9278
32×associate-/l/_binary64_9232
30×+-commutative_binary64_9215
28×pow-plus_binary64_9348
27×unswap-sqr_binary64_9253
22×difference-of-squares_binary64_9254
21×neg-mul-1_binary64_9281
20×neg-sub0_binary64_9280
19×prod-exp_binary64_9334 distribute-lft-neg-out_binary64_9244
18×exp-sum_binary64_9331 rem-sqrt-square_binary64_9298 distribute-lft-out--_binary64_9237
16×div-exp_binary64_9336 /-rgt-identity_binary64_9276
10×associate-/r/_binary64_9231
difference-of-sqr-1_binary64_9255 distribute-rgt1-in_binary64_9241 associate-+l+_binary64_9218
cube-unmult_binary64_9322 distribute-rgt-neg-out_binary64_9245 associate-+r+_binary64_9217
exp-lft-sqr_binary64_9340 distribute-neg-in_binary64_9246
distribute-lft1-in_binary64_9240
rec-exp_binary64_9335 div-sub_binary64_9290
pow-base-1_binary64_9345 unpow1_binary64_9343 rem-cube-cbrt_binary64_9308 rem-square-sqrt_binary64_9297 associate-+l-_binary64_9220 associate-+r-_binary64_9219
log-rec_binary64_9373 unpow2_binary64_9350 rem-cbrt-cube_binary64_9309
exp-sqrt_binary64_9338 1-exp_binary64_9329 exp-1-e_binary64_9328 rem-log-exp_binary64_9326 unsub-neg_binary64_9279 *-inverses_binary64_9265
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_9548 erf-erfc_binary64_9547 erf-odd_binary64_9546 if-if-and-not_binary64_9545 if-if-and_binary64_9544 if-if-or-not_binary64_9543 if-if-or_binary64_9542 if-not_binary64_9541 if-same_binary64_9540 if-false_binary64_9539 if-true_binary64_9538 not-gte_binary64_9537 not-lte_binary64_9536 not-gt_binary64_9535 not-lt_binary64_9534 gte-same_binary64_9533 lte-same_binary64_9532 gt-same_binary64_9531 lt-same_binary64_9530 sinh---cosh_binary64_9477 sinh-+-cosh_binary64_9476 sinh-cosh_binary64_9475 tanh-def-c_binary64_9474 tanh-def-b_binary64_9473 tanh-def-a_binary64_9472 cosh-def_binary64_9471 sinh-def_binary64_9470 tan-neg_binary64_9417 cos-neg_binary64_9416 sin-neg_binary64_9415 tan-0_binary64_9414 cos-0_binary64_9413 sin-0_binary64_9412 hang-m-tan_binary64_9411 hang-p-tan_binary64_9410 hang-m0-tan_binary64_9409 hang-p0-tan_binary64_9408 hang-0m-tan_binary64_9407 hang-0p-tan_binary64_9406 tan-+PI/2_binary64_9405 tan-+PI_binary64_9404 tan-PI_binary64_9403 tan-PI/3_binary64_9402 tan-PI/4_binary64_9401 tan-PI/6_binary64_9400 cos-+PI/2_binary64_9399 cos-+PI_binary64_9398 cos-PI_binary64_9397 cos-PI/2_binary64_9396 cos-PI/3_binary64_9395 cos-PI/4_binary64_9394 cos-PI/6_binary64_9393 sin-+PI/2_binary64_9392 sin-+PI_binary64_9391 sin-PI_binary64_9390 sin-PI/2_binary64_9389 sin-PI/3_binary64_9388 sin-PI/4_binary64_9387 sin-PI/6_binary64_9386 sub-1-sin_binary64_9385 sub-1-cos_binary64_9384 -1-add-sin_binary64_9383 -1-add-cos_binary64_9382 1-sub-sin_binary64_9381 1-sub-cos_binary64_9380 cos-sin-sum_binary64_9379 log-E_binary64_9375 pow-base-0_binary64_9369 unpow1/3_binary64_9352 unpow1/2_binary64_9349 exp-to-pow_binary64_9347 unpow0_binary64_9344 unpow-1_binary64_9342 exp-lft-cube_binary64_9341 exp-cbrt_binary64_9339 exp-diff_binary64_9333 exp-neg_binary64_9332 e-exp-1_binary64_9330 exp-0_binary64_9327 rem-exp-log_binary64_9325 cube-neg_binary64_9312 rem-3cbrt-rft_binary64_9311 rem-3cbrt-lft_binary64_9310 sqr-abs_binary64_9300 sqr-neg_binary64_9299 mul-1-neg_binary64_9277 remove-double-neg_binary64_9273 sub0-neg_binary64_9272 --rgt-identity_binary64_9271 +-rgt-identity_binary64_9270 +-lft-identity_binary64_9269 mul0-rgt_binary64_9268 mul0-lft_binary64_9267 div0_binary64_9266 +-inverses_binary64_9264 lft-mult-inverse_binary64_9263 rgt-mult-inverse_binary64_9262 remove-double-div_binary64_9261 difference-of-sqr--1_binary64_9256 cancel-sign-sub_binary64_9250 distribute-frac-neg_binary64_9248 distribute-neg-out_binary64_9247 count-2_binary64_9233 associate--r-_binary64_9224 associate--l-_binary64_9223 associate--l+_binary64_9222 associate--r+_binary64_9221
Counts
170 → 407
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02173509
16503128
231573110

prune773.0ms (9.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New4070407
Fresh022
Picked011
Done011
Total4074411
Error
0.0b
Counts
411 → 4
Compiler

Compiled 13083 to 6822 computations (47.9% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 2 (/.f64 x y))

rewrite34.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
14×add-sqr-sqrt_binary64_9307
13×associate-*r*_binary64_9225
10×times-frac_binary64_9291
add-cube-cbrt_binary64_9320 *-un-lft-identity_binary64_9285
add-exp-log_binary64_9323 add-cbrt-cube_binary64_9321
pow1_binary64_9346 associate-*l*_binary64_9226
prod-exp_binary64_9334 cbrt-unprod_binary64_9318 unswap-sqr_binary64_9253
pow-prod-down_binary64_9356 div-exp_binary64_9336 add-log-exp_binary64_9324 cbrt-undiv_binary64_9319 associate-*r/_binary64_9227 div-inv_binary64_9282 *-commutative_binary64_9216
Counts
1 → 32
Calls

1 calls:

7.0ms
(*.f64 2 (/.f64 x y))
Compiler

Compiled 437 to 258 computations (41% saved)

series78.0ms (0.9%)

Error
0.0b
Counts
1 → 6
Calls

1 calls:

74.0ms
(*.f64 2 (/.f64 x y))
Compiler

Compiled 126 to 111 computations (11.9% saved)

simplify451.0ms (5.4%)

Algorithm
egg-herbie
Rules
354×cube-prod_binary64_9313
324×exp-to-pow_binary64_9347
258×distribute-rgt-out--_binary64_9239
247×associate-/l*_binary64_9230
230×distribute-rgt-out_binary64_9238
229×sqr-pow_binary64_9257
224×*-commutative_binary64_9216
223×associate-*l/_binary64_9228
206×swap-sqr_binary64_9252
204×associate-*l*_binary64_9226
202×associate-*r/_binary64_9227
196×sub-neg_binary64_9278
186×log-pow_binary64_9374
182×times-frac_binary64_9291
165×log-prod_binary64_9371
164×pow-sqr_binary64_9258
141×distribute-rgt-neg-in_binary64_9243
140×distribute-rgt-in_binary64_9235
139×associate-*r*_binary64_9225
133×unsub-neg_binary64_9279
129×associate-/l/_binary64_9232
102×exp-prod_binary64_9337
91×unpow3_binary64_9351
86×exp-sum_binary64_9331
85×+-commutative_binary64_9215
76×unswap-sqr_binary64_9253
74×log-div_binary64_9372
73×distribute-rgt1-in_binary64_9241
72×*-lft-identity_binary64_9274 cancel-sign-sub-inv_binary64_9251
71×distribute-neg-out_binary64_9247
58×distribute-lft-neg-in_binary64_9242
54×associate-/r*_binary64_9229
52×associate-/r/_binary64_9231
51×distribute-neg-in_binary64_9246 associate-+l+_binary64_9218
49×associate-+l-_binary64_9220
47×associate--l-_binary64_9223
46×pow-plus_binary64_9348
45×exp-diff_binary64_9333 cube-div_binary64_9314 *-rgt-identity_binary64_9275 associate--r-_binary64_9224
43×count-2_binary64_9233 associate-+r+_binary64_9217
40×neg-mul-1_binary64_9281
38×associate--r+_binary64_9221
35×div-sub_binary64_9290
34×associate--l+_binary64_9222
32×associate-+r-_binary64_9219
27×distribute-lft-in_binary64_9234
26×neg-sub0_binary64_9280 remove-double-div_binary64_9261
25×distribute-lft1-in_binary64_9240
23×distribute-rgt-neg-out_binary64_9245
18×log-rec_binary64_9373
14×pow-base-1_binary64_9345
13×/-rgt-identity_binary64_9276
11×prod-exp_binary64_9334
exp-lft-sqr_binary64_9340 div-exp_binary64_9336 cube-mult_binary64_9315 --rgt-identity_binary64_9271 +-inverses_binary64_9264 distribute-neg-frac_binary64_9249
cube-unmult_binary64_9322 sub0-neg_binary64_9272 +-rgt-identity_binary64_9270 distribute-lft-out_binary64_9236
distribute-lft-neg-out_binary64_9244 distribute-lft-out--_binary64_9237
+-lft-identity_binary64_9269
rem-log-exp_binary64_9326 sqr-neg_binary64_9299
exp-sqrt_binary64_9338 rec-exp_binary64_9335 remove-double-neg_binary64_9273 difference-of-sqr--1_binary64_9256
distribute-frac-neg_binary64_9248
pow-base-0_binary64_9369 exp-lft-cube_binary64_9341 1-exp_binary64_9329 exp-1-e_binary64_9328 rem-exp-log_binary64_9325 rem-sqrt-square_binary64_9298 mul-1-neg_binary64_9277 div0_binary64_9266 *-inverses_binary64_9265 lft-mult-inverse_binary64_9263
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_9548 erf-erfc_binary64_9547 erf-odd_binary64_9546 if-if-and-not_binary64_9545 if-if-and_binary64_9544 if-if-or-not_binary64_9543 if-if-or_binary64_9542 if-not_binary64_9541 if-same_binary64_9540 if-false_binary64_9539 if-true_binary64_9538 not-gte_binary64_9537 not-lte_binary64_9536 not-gt_binary64_9535 not-lt_binary64_9534 gte-same_binary64_9533 lte-same_binary64_9532 gt-same_binary64_9531 lt-same_binary64_9530 sinh---cosh_binary64_9477 sinh-+-cosh_binary64_9476 sinh-cosh_binary64_9475 tanh-def-c_binary64_9474 tanh-def-b_binary64_9473 tanh-def-a_binary64_9472 cosh-def_binary64_9471 sinh-def_binary64_9470 tan-neg_binary64_9417 cos-neg_binary64_9416 sin-neg_binary64_9415 tan-0_binary64_9414 cos-0_binary64_9413 sin-0_binary64_9412 hang-m-tan_binary64_9411 hang-p-tan_binary64_9410 hang-m0-tan_binary64_9409 hang-p0-tan_binary64_9408 hang-0m-tan_binary64_9407 hang-0p-tan_binary64_9406 tan-+PI/2_binary64_9405 tan-+PI_binary64_9404 tan-PI_binary64_9403 tan-PI/3_binary64_9402 tan-PI/4_binary64_9401 tan-PI/6_binary64_9400 cos-+PI/2_binary64_9399 cos-+PI_binary64_9398 cos-PI_binary64_9397 cos-PI/2_binary64_9396 cos-PI/3_binary64_9395 cos-PI/4_binary64_9394 cos-PI/6_binary64_9393 sin-+PI/2_binary64_9392 sin-+PI_binary64_9391 sin-PI_binary64_9390 sin-PI/2_binary64_9389 sin-PI/3_binary64_9388 sin-PI/4_binary64_9387 sin-PI/6_binary64_9386 sub-1-sin_binary64_9385 sub-1-cos_binary64_9384 -1-add-sin_binary64_9383 -1-add-cos_binary64_9382 1-sub-sin_binary64_9381 1-sub-cos_binary64_9380 cos-sin-sum_binary64_9379 log-E_binary64_9375 unpow1/3_binary64_9352 unpow2_binary64_9350 unpow1/2_binary64_9349 unpow0_binary64_9344 unpow1_binary64_9343 unpow-1_binary64_9342 exp-cbrt_binary64_9339 exp-neg_binary64_9332 e-exp-1_binary64_9330 exp-0_binary64_9327 cube-neg_binary64_9312 rem-3cbrt-rft_binary64_9311 rem-3cbrt-lft_binary64_9310 rem-cbrt-cube_binary64_9309 rem-cube-cbrt_binary64_9308 sqr-abs_binary64_9300 rem-square-sqrt_binary64_9297 mul0-rgt_binary64_9268 mul0-lft_binary64_9267 rgt-mult-inverse_binary64_9262 difference-of-sqr-1_binary64_9255 difference-of-squares_binary64_9254 cancel-sign-sub_binary64_9250
Counts
38 → 90
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069414
1159369
2540369
31518369
41674369
52086369
63443369
74574369

prune80.0ms (1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New90090
Fresh011
Picked011
Done022
Total90494
Error
0.0b
Counts
94 → 4
Compiler

Compiled 1218 to 766 computations (37.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (-.f64 x y) (+.f64 (*.f64 x x) (*.f64 y (-.f64 y x))))
2.6b
(+.f64 (pow.f64 x 3) (pow.f64 y 3))
2.8b
(+.f64 (*.f64 x x) (*.f64 y (-.f64 y x)))
43.3b
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (*.f64 (-.f64 x y) (+.f64 (*.f64 x x) (*.f64 y (-.f64 y x)))))

rewrite218.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
42×*-un-lft-identity_binary64_9285
15×distribute-lft-out_binary64_9236
14×add-sqr-sqrt_binary64_9307
12×unpow-prod-down_binary64_9364 cube-prod_binary64_9313
11×add-exp-log_binary64_9323 add-cbrt-cube_binary64_9321
10×add-cube-cbrt_binary64_9320
times-frac_binary64_9291 flip3-+_binary64_9288 flip-+_binary64_9259 associate-/l*_binary64_9230
add-log-exp_binary64_9324 frac-times_binary64_9295 associate-/r/_binary64_9231 associate-+r+_binary64_9217
pow1_binary64_9346 flip3--_binary64_9289 flip--_binary64_9260 cancel-sign-sub-inv_binary64_9251
distribute-rgt-in_binary64_9235 distribute-lft-in_binary64_9234 associate-*l*_binary64_9226
associate-*l/_binary64_9228 associate-*r/_binary64_9227
sum-cubes_binary64_9286 associate-*r*_binary64_9225
prod-exp_binary64_9334 div-exp_binary64_9336 cbrt-undiv_binary64_9319 cbrt-unprod_binary64_9318 associate-/l/_binary64_9232 sum-log_binary64_9376 sub-neg_binary64_9278 +-commutative_binary64_9215
frac-2neg_binary64_9296 clear-num_binary64_9284 div-inv_binary64_9282 associate-/r*_binary64_9229 pow-prod-down_binary64_9356 unswap-sqr_binary64_9253 difference-of-squares_binary64_9254 distribute-lft-out--_binary64_9237 *-commutative_binary64_9216
Counts
4 → 109
Calls

4 calls:

21.0ms
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (*.f64 (-.f64 x y) (+.f64 (*.f64 x x) (*.f64 y (-.f64 y x)))))
11.0ms
(+.f64 (pow.f64 x 3) (pow.f64 y 3))
9.0ms
(*.f64 (-.f64 x y) (+.f64 (*.f64 x x) (*.f64 y (-.f64 y x))))
5.0ms
(+.f64 (*.f64 x x) (*.f64 y (-.f64 y x)))
Compiler

Compiled 3650 to 1207 computations (66.9% saved)

series846.0ms (10.2%)

Error
0.0b
Counts
4 → 78
Calls

4 calls:

220.0ms
(+.f64 (pow.f64 x 3) (pow.f64 y 3))
202.0ms
(+.f64 (*.f64 x x) (*.f64 y (-.f64 y x)))
190.0ms
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (*.f64 (-.f64 x y) (+.f64 (*.f64 x x) (*.f64 y (-.f64 y x)))))
145.0ms
(*.f64 (-.f64 x y) (+.f64 (*.f64 x x) (*.f64 y (-.f64 y x))))
Compiler

Compiled 3114 to 2219 computations (28.7% saved)

simplify462.0ms (5.6%)

Algorithm
egg-herbie
Rules
524×times-frac_binary64_9291
342×associate-/l*_binary64_9230
229×associate-*l*_binary64_9226
225×associate-*r*_binary64_9225
215×cancel-sign-sub-inv_binary64_9251
192×distribute-rgt-in_binary64_9235
175×distribute-lft-in_binary64_9234
113×unswap-sqr_binary64_9253
111×distribute-rgt-neg-in_binary64_9243
105×*-commutative_binary64_9216
100×associate-/l/_binary64_9232
91×distribute-lft-neg-out_binary64_9244
90×distribute-lft-neg-in_binary64_9242
88×associate-/r/_binary64_9231
87×sub-neg_binary64_9278
85×associate-/r*_binary64_9229
82×distribute-neg-in_binary64_9246
73×distribute-rgt-neg-out_binary64_9245
72×distribute-rgt-out_binary64_9238
70×sqr-pow_binary64_9257
55×+-commutative_binary64_9215
50×neg-sub0_binary64_9280
49×exp-prod_binary64_9337 neg-mul-1_binary64_9281
38×pow-sqr_binary64_9258
33×distribute-lft-out_binary64_9236
30×div-sub_binary64_9290
29×exp-sum_binary64_9331 distribute-rgt-out--_binary64_9239
27×difference-of-squares_binary64_9254
24×pow-plus_binary64_9348
21×unsub-neg_binary64_9279
20×associate-+l+_binary64_9218 associate-+r+_binary64_9217
18×*-lft-identity_binary64_9274 associate-*l/_binary64_9228
17×*-rgt-identity_binary64_9275
16×associate--r+_binary64_9221
15×cube-prod_binary64_9313
14×associate-*r/_binary64_9227
12×unpow3_binary64_9351 /-rgt-identity_binary64_9276
10×distribute-lft-out--_binary64_9237
log-prod_binary64_9371 cube-unmult_binary64_9322 associate--l+_binary64_9222
cube-mult_binary64_9315 swap-sqr_binary64_9252
log-div_binary64_9372 exp-diff_binary64_9333 distribute-neg-frac_binary64_9249
prod-exp_binary64_9334
log-pow_binary64_9374
div-exp_binary64_9336 distribute-rgt1-in_binary64_9241
pow-base-1_binary64_9345 cube-div_binary64_9314 associate-+l-_binary64_9220
unpow2_binary64_9350 unpow1_binary64_9343 rec-exp_binary64_9335 remove-double-neg_binary64_9273 associate-+r-_binary64_9219
exp-sqrt_binary64_9338 1-exp_binary64_9329 exp-1-e_binary64_9328 rem-log-exp_binary64_9326 mul-1-neg_binary64_9277 *-inverses_binary64_9265 count-2_binary64_9233 associate--r-_binary64_9224 associate--l-_binary64_9223
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_9548 erf-erfc_binary64_9547 erf-odd_binary64_9546 if-if-and-not_binary64_9545 if-if-and_binary64_9544 if-if-or-not_binary64_9543 if-if-or_binary64_9542 if-not_binary64_9541 if-same_binary64_9540 if-false_binary64_9539 if-true_binary64_9538 not-gte_binary64_9537 not-lte_binary64_9536 not-gt_binary64_9535 not-lt_binary64_9534 gte-same_binary64_9533 lte-same_binary64_9532 gt-same_binary64_9531 lt-same_binary64_9530 sinh---cosh_binary64_9477 sinh-+-cosh_binary64_9476 sinh-cosh_binary64_9475 tanh-def-c_binary64_9474 tanh-def-b_binary64_9473 tanh-def-a_binary64_9472 cosh-def_binary64_9471 sinh-def_binary64_9470 tan-neg_binary64_9417 cos-neg_binary64_9416 sin-neg_binary64_9415 tan-0_binary64_9414 cos-0_binary64_9413 sin-0_binary64_9412 hang-m-tan_binary64_9411 hang-p-tan_binary64_9410 hang-m0-tan_binary64_9409 hang-p0-tan_binary64_9408 hang-0m-tan_binary64_9407 hang-0p-tan_binary64_9406 tan-+PI/2_binary64_9405 tan-+PI_binary64_9404 tan-PI_binary64_9403 tan-PI/3_binary64_9402 tan-PI/4_binary64_9401 tan-PI/6_binary64_9400 cos-+PI/2_binary64_9399 cos-+PI_binary64_9398 cos-PI_binary64_9397 cos-PI/2_binary64_9396 cos-PI/3_binary64_9395 cos-PI/4_binary64_9394 cos-PI/6_binary64_9393 sin-+PI/2_binary64_9392 sin-+PI_binary64_9391 sin-PI_binary64_9390 sin-PI/2_binary64_9389 sin-PI/3_binary64_9388 sin-PI/4_binary64_9387 sin-PI/6_binary64_9386 sub-1-sin_binary64_9385 sub-1-cos_binary64_9384 -1-add-sin_binary64_9383 -1-add-cos_binary64_9382 1-sub-sin_binary64_9381 1-sub-cos_binary64_9380 cos-sin-sum_binary64_9379 log-E_binary64_9375 log-rec_binary64_9373 pow-base-0_binary64_9369 unpow1/3_binary64_9352 unpow1/2_binary64_9349 exp-to-pow_binary64_9347 unpow0_binary64_9344 unpow-1_binary64_9342 exp-lft-cube_binary64_9341 exp-lft-sqr_binary64_9340 exp-cbrt_binary64_9339 exp-neg_binary64_9332 e-exp-1_binary64_9330 exp-0_binary64_9327 rem-exp-log_binary64_9325 cube-neg_binary64_9312 rem-3cbrt-rft_binary64_9311 rem-3cbrt-lft_binary64_9310 rem-cbrt-cube_binary64_9309 rem-cube-cbrt_binary64_9308 sqr-abs_binary64_9300 sqr-neg_binary64_9299 rem-sqrt-square_binary64_9298 rem-square-sqrt_binary64_9297 sub0-neg_binary64_9272 --rgt-identity_binary64_9271 +-rgt-identity_binary64_9270 +-lft-identity_binary64_9269 mul0-rgt_binary64_9268 mul0-lft_binary64_9267 div0_binary64_9266 +-inverses_binary64_9264 lft-mult-inverse_binary64_9263 rgt-mult-inverse_binary64_9262 remove-double-div_binary64_9261 difference-of-sqr--1_binary64_9256 difference-of-sqr-1_binary64_9255 cancel-sign-sub_binary64_9250 distribute-frac-neg_binary64_9248 distribute-neg-out_binary64_9247 distribute-lft1-in_binary64_9240
Counts
187 → 307
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01914467
15924062
228153901

prune486.0ms (5.8%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New3070307
Fresh000
Picked011
Done033
Total3074311
Error
0.0b
Counts
311 → 4
Compiler

Compiled 9722 to 3761 computations (61.3% saved)

regimes117.0ms (1.4%)

Accuracy

Total 0.0b remaining (88.3%)

Threshold costs 0.0b (88.3%)

Compiler

Compiled 999 to 700 computations (29.9% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_9215
sub-neg_binary64_9278
1-exp_binary64_9329 neg-mul-1_binary64_9281 neg-sub0_binary64_9280 *-commutative_binary64_9216
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_9545 if-if-and_binary64_9544 if-if-or-not_binary64_9543 if-if-or_binary64_9542 if-not_binary64_9541 if-same_binary64_9540 if-false_binary64_9539 if-true_binary64_9538 tan-0_binary64_9414 cos-0_binary64_9413 sin-0_binary64_9412 unpow1_binary64_9343 e-exp-1_binary64_9330 exp-1-e_binary64_9328 exp-0_binary64_9327 sqr-abs_binary64_9300 sqr-neg_binary64_9299 unsub-neg_binary64_9279 mul-1-neg_binary64_9277 /-rgt-identity_binary64_9276 *-rgt-identity_binary64_9275 *-lft-identity_binary64_9274 remove-double-neg_binary64_9273 sub0-neg_binary64_9272 --rgt-identity_binary64_9271 +-rgt-identity_binary64_9270 +-lft-identity_binary64_9269 cancel-sign-sub-inv_binary64_9251 cancel-sign-sub_binary64_9250 distribute-neg-frac_binary64_9249 distribute-frac-neg_binary64_9248 distribute-neg-out_binary64_9247 distribute-neg-in_binary64_9246 distribute-rgt-neg-out_binary64_9245 distribute-lft-neg-out_binary64_9244 distribute-rgt-neg-in_binary64_9243 distribute-lft-neg-in_binary64_9242
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11313
21713
31913
42013
Proof
(/ f64 1 (/ f64 (- f64 h0 h1) (+ f64 h0 h1)))

end0.0ms (0%)

sample764.0ms (9.2%)

Algorithm
intervals
Results
186.0ms8000×body128valid
Compiler

Compiled 343 to 239 computations (30.3% saved)

Profiling

Loading profile data...