Details

Time bar (total: 13.2s)

analyze609.0ms (4.6%)

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
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%99.9%0.1%8
12.5%85.8%1.7%9
16.4%79.2%4.4%10
20.7%72.4%7%11
32.6%53.3%14.1%12
36%45.5%18.5%13
38.3%41.1%20.6%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample27.0ms (0.2%)

Algorithm
intervals
Results
10.0ms256×body128valid
3.0ms91×body128invalid
Compiler

Compiled 31 to 26 computations (16.1% saved)

simplify411.0ms (3.1%)

Algorithm
egg-herbie
Rules
637×distribute-rgt-out_binary64_13330
512×distribute-rgt-out--_binary64_13331
355×associate-/r/_binary64_13323
264×div-sub_binary64_13382
250×distribute-rgt-in_binary64_13327
193×associate-/r*_binary64_13321
187×distribute-lft-in_binary64_13326
138×sub-neg_binary64_13370
109×unsub-neg_binary64_13371
100×associate--l+_binary64_13314 associate-+r+_binary64_13309
97×associate-+l-_binary64_13312
95×associate--r+_binary64_13313
90×associate-/l*_binary64_13322
89×associate-+l+_binary64_13310
80×distribute-neg-frac_binary64_13341
74×distribute-rgt-neg-in_binary64_13335
63×cancel-sign-sub-inv_binary64_13343 distribute-lft-neg-in_binary64_13334
60×times-frac_binary64_13383
55×distribute-neg-in_binary64_13338
54×neg-mul-1_binary64_13373
52×neg-sub0_binary64_13372
50×associate-/l/_binary64_13324
36×+-commutative_binary64_13307
35×associate--r-_binary64_13316
33×*-commutative_binary64_13308
27×associate-+r-_binary64_13311
26×distribute-rgt1-in_binary64_13333
22×distribute-lft-neg-out_binary64_13336 associate-*l/_binary64_13320 associate-*r*_binary64_13317 associate--l-_binary64_13315
19×associate-*l*_binary64_13318
17×associate-*r/_binary64_13319
16×+-rgt-identity_binary64_13362 distribute-rgt-neg-out_binary64_13337
13×+-lft-identity_binary64_13361
10×sub0-neg_binary64_13364
cancel-sign-sub_binary64_13342
mul0-rgt_binary64_13360 mul0-lft_binary64_13359 distribute-lft-out_binary64_13328
swap-sqr_binary64_13344 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339
div0_binary64_13358
remove-double-neg_binary64_13365 difference-of-squares_binary64_13346 count-2_binary64_13325
*-rgt-identity_binary64_13367 --rgt-identity_binary64_13363 distribute-lft1-in_binary64_13332
/-rgt-identity_binary64_13368 *-inverses_binary64_13357
1-exp_binary64_13421 mul-1-neg_binary64_13369
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 log-pow_binary64_13466 log-rec_binary64_13465 log-div_binary64_13464 log-prod_binary64_13463 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow3_binary64_13443 unpow2_binary64_13442 unpow1/2_binary64_13441 pow-plus_binary64_13440 exp-to-pow_binary64_13439 pow-base-1_binary64_13437 unpow0_binary64_13436 unpow1_binary64_13435 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-lft-sqr_binary64_13432 exp-cbrt_binary64_13431 exp-sqrt_binary64_13430 exp-prod_binary64_13429 div-exp_binary64_13428 rec-exp_binary64_13427 prod-exp_binary64_13426 exp-diff_binary64_13425 exp-neg_binary64_13424 exp-sum_binary64_13423 e-exp-1_binary64_13422 exp-1-e_binary64_13420 exp-0_binary64_13419 rem-log-exp_binary64_13418 rem-exp-log_binary64_13417 cube-unmult_binary64_13414 cube-mult_binary64_13407 cube-div_binary64_13406 cube-prod_binary64_13405 cube-neg_binary64_13404 rem-3cbrt-rft_binary64_13403 rem-3cbrt-lft_binary64_13402 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 sqr-neg_binary64_13391 rem-sqrt-square_binary64_13390 rem-square-sqrt_binary64_13389 *-lft-identity_binary64_13366 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 pow-sqr_binary64_13350 sqr-pow_binary64_13349 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 unswap-sqr_binary64_13345 distribute-lft-out--_binary64_13329
Counts
1 → 4
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01222
12622
26122
311622
425022
554522
6132219

prune7.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New314
Fresh011
Picked000
Done000
Total325
Error
12.2b
Counts
5 → 2
Compiler

Compiled 86 to 46 computations (46.5% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 y (/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y))
1.7b
(-.f64 (*.f64 x x) (*.f64 z z))
13.0b
(/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y)

rewrite97.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
14×*-un-lft-identity_binary64_13377
12×add-cube-cbrt_binary64_13412 add-sqr-sqrt_binary64_13399 times-frac_binary64_13383
add-log-exp_binary64_13416
add-exp-log_binary64_13415 add-cbrt-cube_binary64_13413 difference-of-squares_binary64_13346
associate-/l*_binary64_13322
pow1_binary64_13438 associate-/r*_binary64_13321
div-sub_binary64_13382 flip3--_binary64_13381 associate-/l/_binary64_13324 flip--_binary64_13352
div-exp_binary64_13428 cbrt-undiv_binary64_13411 frac-2neg_binary64_13388 clear-num_binary64_13376 div-inv_binary64_13374 diff-log_binary64_13469 sub-neg_binary64_13370 cancel-sign-sub-inv_binary64_13343 sum-log_binary64_13468 flip3-+_binary64_13380 flip-+_binary64_13351 distribute-lft-out_binary64_13328 associate-+r-_binary64_13311 +-commutative_binary64_13307
Counts
3 → 60
Calls

3 calls:

9.0ms
(+.f64 y (/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y))
6.0ms
(/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y)
4.0ms
(-.f64 (*.f64 x x) (*.f64 z z))
Compiler

Compiled 1357 to 368 computations (72.9% saved)

series865.0ms (6.6%)

Error
7.4b
Counts
3 → 45
Calls

3 calls:

365.0ms
(+.f64 y (/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y))
309.0ms
(/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y)
150.0ms
(-.f64 (*.f64 x x) (*.f64 z z))
Compiler

Compiled 1406 to 1173 computations (16.6% saved)

simplify381.0ms (2.9%)

Algorithm
egg-herbie
Rules
337×div-sub_binary64_13382 distribute-rgt-in_binary64_13327
317×distribute-lft-in_binary64_13326
308×associate-*l*_binary64_13318
270×associate-*r*_binary64_13317
228×associate-/l*_binary64_13322
226×associate-*l/_binary64_13320
206×times-frac_binary64_13383
189×associate-*r/_binary64_13319
117×exp-prod_binary64_13429
109×associate-/l/_binary64_13324
94×associate-/r*_binary64_13321
93×*-commutative_binary64_13308
80×cube-prod_binary64_13405
77×associate-/r/_binary64_13323
57×cancel-sign-sub-inv_binary64_13343
55×exp-sum_binary64_13423
51×cube-div_binary64_13406 sub-neg_binary64_13370
48×distribute-rgt-neg-in_binary64_13335
47×log-prod_binary64_13463 +-commutative_binary64_13307
43×sqr-pow_binary64_13349
42×associate-+l+_binary64_13310
40×unswap-sqr_binary64_13345 distribute-lft-neg-in_binary64_13334
37×distribute-neg-frac_binary64_13341
34×associate-+r+_binary64_13309
31×distribute-lft-neg-out_binary64_13336
30×log-div_binary64_13464 neg-sub0_binary64_13372
29×pow-plus_binary64_13440
28×exp-diff_binary64_13425 neg-mul-1_binary64_13373
24×distribute-neg-in_binary64_13338
23×pow-sqr_binary64_13350
21×difference-of-squares_binary64_13346
20×distribute-rgt-neg-out_binary64_13337
19×unpow3_binary64_13443
18×associate-+l-_binary64_13312
16×associate-+r-_binary64_13311
15×associate--r+_binary64_13313
14×distribute-rgt-out_binary64_13330
13×prod-exp_binary64_13426
12×cube-unmult_binary64_13414 associate--l+_binary64_13314
11×cube-mult_binary64_13407
10×div-exp_binary64_13428
/-rgt-identity_binary64_13368
*-rgt-identity_binary64_13367 swap-sqr_binary64_13344
exp-sqrt_binary64_13430 sqr-neg_binary64_13391
log-rec_binary64_13465 exp-lft-sqr_binary64_13432 mul-1-neg_binary64_13369 distribute-rgt-out--_binary64_13331 associate--r-_binary64_13316
rec-exp_binary64_13427 cube-neg_binary64_13404 remove-double-neg_binary64_13365 associate--l-_binary64_13315
unpow2_binary64_13442 unpow1_binary64_13435 exp-neg_binary64_13424 +-rgt-identity_binary64_13362 distribute-lft-out_binary64_13328
log-pow_binary64_13466 pow-base-1_binary64_13437 1-exp_binary64_13421 rem-log-exp_binary64_13418 unsub-neg_binary64_13371 *-lft-identity_binary64_13366 div0_binary64_13358 *-inverses_binary64_13357
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow1/2_binary64_13441 exp-to-pow_binary64_13439 unpow0_binary64_13436 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-cbrt_binary64_13431 e-exp-1_binary64_13422 exp-1-e_binary64_13420 exp-0_binary64_13419 rem-exp-log_binary64_13417 rem-3cbrt-rft_binary64_13403 rem-3cbrt-lft_binary64_13402 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 rem-sqrt-square_binary64_13390 rem-square-sqrt_binary64_13389 sub0-neg_binary64_13364 --rgt-identity_binary64_13363 +-lft-identity_binary64_13361 mul0-rgt_binary64_13360 mul0-lft_binary64_13359 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 cancel-sign-sub_binary64_13342 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332 distribute-lft-out--_binary64_13329 count-2_binary64_13325
Counts
105 → 236
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01211751
13081653
210201653
342381653

prune219.0ms (1.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2315236
Fresh011
Picked101
Done000
Total2326238
Error
0.0b
Counts
238 → 6
Compiler

Compiled 4632 to 1166 computations (74.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 y (/.f64 z (/.f64 y z)))
0.0b
(+.f64 (/.f64 x (/.f64 y x)) (-.f64 y (/.f64 z (/.f64 y z))))
0.1b
(/.f64 x (/.f64 y x))
0.2b
(/.f64 z (/.f64 y z))

rewrite372.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
285×times-frac_binary64_13383
167×add-sqr-sqrt_binary64_13399
165×*-un-lft-identity_binary64_13377
158×add-cube-cbrt_binary64_13412
88×cancel-sign-sub-inv_binary64_13343
45×associate-+r+_binary64_13309
26×associate-/r*_binary64_13321
18×div-inv_binary64_13374
14×add-exp-log_binary64_13415 add-cbrt-cube_binary64_13413
11×add-log-exp_binary64_13416
div-exp_binary64_13428 cbrt-undiv_binary64_13411 associate-/l*_binary64_13322
pow1_binary64_13438 associate-/r/_binary64_13323
difference-of-squares_binary64_13346
frac-2neg_binary64_13388 clear-num_binary64_13376 diff-log_binary64_13469 sum-log_binary64_13468 flip3--_binary64_13381 frac-add_binary64_13385 flip--_binary64_13352 distribute-lft-out_binary64_13328 distribute-lft-out--_binary64_13329 sub-neg_binary64_13370
flip3-+_binary64_13380 flip-+_binary64_13351 associate-+r-_binary64_13311 +-commutative_binary64_13307
Counts
4 → 261
Calls

4 calls:

40.0ms
(+.f64 (/.f64 x (/.f64 y x)) (-.f64 y (/.f64 z (/.f64 y z))))
21.0ms
(-.f64 y (/.f64 z (/.f64 y z)))
6.0ms
(/.f64 z (/.f64 y z))
6.0ms
(/.f64 x (/.f64 y x))
Compiler

Compiled 6711 to 1845 computations (72.5% saved)

series782.0ms (5.9%)

Error
0.0b
Counts
4 → 42
Calls

4 calls:

369.0ms
(+.f64 (/.f64 x (/.f64 y x)) (-.f64 y (/.f64 z (/.f64 y z))))
167.0ms
(-.f64 y (/.f64 z (/.f64 y z)))
109.0ms
(/.f64 z (/.f64 y z))
105.0ms
(/.f64 x (/.f64 y x))
Compiler

Compiled 1493 to 1101 computations (26.3% saved)

simplify2.0s (15.2%)

Algorithm
egg-herbie
Rules
400×div-sub_binary64_13382
359×associate-/l*_binary64_13322
328×associate-/r/_binary64_13323
327×associate-*l/_binary64_13320
320×associate-/l/_binary64_13324
308×associate-*r/_binary64_13319
258×*-commutative_binary64_13308
236×associate-*r*_binary64_13317
159×neg-sub0_binary64_13372
152×associate-*l*_binary64_13318
150×times-frac_binary64_13383
133×neg-mul-1_binary64_13373
115×associate-/r*_binary64_13321
81×distribute-rgt-neg-in_binary64_13335
78×distribute-lft-neg-out_binary64_13336
65×exp-prod_binary64_13429
64×sub-neg_binary64_13370 distribute-neg-frac_binary64_13341
48×log-div_binary64_13464 distribute-rgt-in_binary64_13327
43×cube-div_binary64_13406
42×cancel-sign-sub-inv_binary64_13343 distribute-lft-in_binary64_13326
39×log-prod_binary64_13463
37×distribute-rgt-neg-out_binary64_13337
35×cube-prod_binary64_13405
34×distribute-lft-neg-in_binary64_13334 +-commutative_binary64_13307
18×div-exp_binary64_13428 prod-exp_binary64_13426
16×sqr-pow_binary64_13349
11×log-rec_binary64_13465 /-rgt-identity_binary64_13368 swap-sqr_binary64_13344
10×unpow3_binary64_13443
pow-plus_binary64_13440 cube-unmult_binary64_13414
associate-+l+_binary64_13310
exp-sum_binary64_13423 difference-of-squares_binary64_13346
cube-mult_binary64_13407 pow-sqr_binary64_13350 associate-+r-_binary64_13311 associate-+r+_binary64_13309
rec-exp_binary64_13427 exp-diff_binary64_13425 remove-double-div_binary64_13353 unswap-sqr_binary64_13345
rem-3cbrt-lft_binary64_13402 rem-sqrt-square_binary64_13390 rem-square-sqrt_binary64_13389 distribute-neg-in_binary64_13338 associate--r-_binary64_13316 associate--l+_binary64_13314 associate--r+_binary64_13313
unpow2_binary64_13442 unpow1_binary64_13435 rem-3cbrt-rft_binary64_13403 *-rgt-identity_binary64_13367 associate-+l-_binary64_13312
log-pow_binary64_13466 1-exp_binary64_13421 rem-log-exp_binary64_13418 mul-1-neg_binary64_13369 *-lft-identity_binary64_13366 *-inverses_binary64_13357 distribute-rgt-out--_binary64_13331 distribute-rgt-out_binary64_13330 associate--l-_binary64_13315
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow1/2_binary64_13441 exp-to-pow_binary64_13439 pow-base-1_binary64_13437 unpow0_binary64_13436 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-lft-sqr_binary64_13432 exp-cbrt_binary64_13431 exp-sqrt_binary64_13430 exp-neg_binary64_13424 e-exp-1_binary64_13422 exp-1-e_binary64_13420 exp-0_binary64_13419 rem-exp-log_binary64_13417 cube-neg_binary64_13404 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 sqr-neg_binary64_13391 unsub-neg_binary64_13371 remove-double-neg_binary64_13365 sub0-neg_binary64_13364 --rgt-identity_binary64_13363 +-rgt-identity_binary64_13362 +-lft-identity_binary64_13361 mul0-rgt_binary64_13360 mul0-lft_binary64_13359 div0_binary64_13358 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 cancel-sign-sub_binary64_13342 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332 distribute-lft-out--_binary64_13329 distribute-lft-out_binary64_13328 count-2_binary64_13325
Counts
303 → 862
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04205423
111475113
241774405

prune914.0ms (6.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New8611862
Fresh055
Picked011
Done000
Total8617868
Error
0b
Counts
868 → 7
Compiler

Compiled 22266 to 4378 computations (80.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 y (*.f64 (/.f64 (-.f64 x z) y) (+.f64 z x)))
0.0b
(/.f64 (-.f64 x z) y)
0.2b
(*.f64 (/.f64 (-.f64 x z) y) (+.f64 z x))

rewrite125.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
42×add-sqr-sqrt_binary64_13399
39×*-un-lft-identity_binary64_13377
31×times-frac_binary64_13383
23×add-cube-cbrt_binary64_13412
19×associate-*l*_binary64_13318
10×add-exp-log_binary64_13415 add-cbrt-cube_binary64_13413
difference-of-squares_binary64_13346 distribute-lft-out--_binary64_13329
pow1_binary64_13438 add-log-exp_binary64_13416 associate-/l*_binary64_13322
associate-*r*_binary64_13317
flip3-+_binary64_13380 flip-+_binary64_13351 associate-/r*_binary64_13321
div-exp_binary64_13428 prod-exp_binary64_13426 cbrt-unprod_binary64_13410 cbrt-undiv_binary64_13411 frac-times_binary64_13387 unswap-sqr_binary64_13345 distribute-rgt-in_binary64_13327 distribute-lft-in_binary64_13326 associate-*r/_binary64_13319 div-inv_binary64_13374 associate-/l/_binary64_13324 associate-+r+_binary64_13309
pow-prod-down_binary64_13448 associate-*l/_binary64_13320 distribute-lft-out_binary64_13328 *-commutative_binary64_13308 frac-2neg_binary64_13388 div-sub_binary64_13382 clear-num_binary64_13376 flip3--_binary64_13381 flip--_binary64_13352 sum-log_binary64_13468 +-commutative_binary64_13307
Counts
3 → 96
Calls

3 calls:

14.0ms
(*.f64 (/.f64 (-.f64 x z) y) (+.f64 z x))
6.0ms
(/.f64 (-.f64 x z) y)
4.0ms
(+.f64 y (*.f64 (/.f64 (-.f64 x z) y) (+.f64 z x)))
Compiler

Compiled 2092 to 624 computations (70.2% saved)

series913.0ms (6.9%)

Error
0b
Counts
3 → 48
Calls

3 calls:

381.0ms
(+.f64 y (*.f64 (/.f64 (-.f64 x z) y) (+.f64 z x)))
321.0ms
(*.f64 (/.f64 (-.f64 x z) y) (+.f64 z x))
177.0ms
(/.f64 (-.f64 x z) y)
Compiler

Compiled 1589 to 1182 computations (25.6% saved)

simplify518.0ms (3.9%)

Algorithm
egg-herbie
Rules
924×div-sub_binary64_13382
381×associate-/l*_binary64_13322
325×*-commutative_binary64_13308
159×times-frac_binary64_13383
142×distribute-rgt-in_binary64_13327
140×associate-+l+_binary64_13310
134×distribute-lft-in_binary64_13326
113×associate-+r+_binary64_13309
105×associate-/r/_binary64_13323
104×associate-*l/_binary64_13320
100×+-commutative_binary64_13307
93×exp-prod_binary64_13429 associate-/r*_binary64_13321
89×associate-*l*_binary64_13318
87×associate-/l/_binary64_13324
82×associate-*r*_binary64_13317
79×cancel-sign-sub-inv_binary64_13343
78×associate-*r/_binary64_13319
69×distribute-rgt-neg-in_binary64_13335
58×distribute-neg-in_binary64_13338
57×cube-prod_binary64_13405 distribute-lft-neg-out_binary64_13336 distribute-lft-neg-in_binary64_13334 associate--r+_binary64_13313
56×exp-sum_binary64_13423 sub-neg_binary64_13370
53×log-prod_binary64_13463
52×distribute-neg-frac_binary64_13341
42×distribute-rgt-neg-out_binary64_13337
41×neg-sub0_binary64_13372
38×sqr-pow_binary64_13349
36×exp-diff_binary64_13425 neg-mul-1_binary64_13373 associate--l+_binary64_13314
33×log-div_binary64_13464 cube-div_binary64_13406 associate-+l-_binary64_13312
27×associate-+r-_binary64_13311
17×pow-plus_binary64_13440 unswap-sqr_binary64_13345 distribute-rgt-out_binary64_13330
16×*-rgt-identity_binary64_13367
15×pow-sqr_binary64_13350
14×*-lft-identity_binary64_13366
11×unpow3_binary64_13443 difference-of-squares_binary64_13346
10×prod-exp_binary64_13426 swap-sqr_binary64_13344 distribute-rgt-out--_binary64_13331
div-exp_binary64_13428 /-rgt-identity_binary64_13368
cube-mult_binary64_13407 mul-1-neg_binary64_13369
log-rec_binary64_13465 exp-lft-sqr_binary64_13432 exp-neg_binary64_13424 associate--r-_binary64_13316
cube-neg_binary64_13404 sqr-neg_binary64_13391 associate--l-_binary64_13315
remove-double-neg_binary64_13365
rec-exp_binary64_13427 unsub-neg_binary64_13371
unpow2_binary64_13442 unpow1_binary64_13435 cube-unmult_binary64_13414 rem-sqrt-square_binary64_13390 distribute-lft-out_binary64_13328
log-pow_binary64_13466 pow-base-1_binary64_13437 exp-sqrt_binary64_13430 1-exp_binary64_13421 exp-1-e_binary64_13420 rem-log-exp_binary64_13418 *-inverses_binary64_13357 distribute-lft-out--_binary64_13329
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow1/2_binary64_13441 exp-to-pow_binary64_13439 unpow0_binary64_13436 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-cbrt_binary64_13431 e-exp-1_binary64_13422 exp-0_binary64_13419 rem-exp-log_binary64_13417 rem-3cbrt-rft_binary64_13403 rem-3cbrt-lft_binary64_13402 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 rem-square-sqrt_binary64_13389 sub0-neg_binary64_13364 --rgt-identity_binary64_13363 +-rgt-identity_binary64_13362 +-lft-identity_binary64_13361 mul0-rgt_binary64_13360 mul0-lft_binary64_13359 div0_binary64_13358 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 cancel-sign-sub_binary64_13342 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332 count-2_binary64_13325
Counts
144 → 387
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01732145
15632050
217732050
338962050

prune352.0ms (2.7%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3861387
Fresh145
Picked011
Done011
Total3877394
Error
0b
Counts
394 → 7
Compiler

Compiled 8994 to 1723 computations (80.8% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 y (*.f64 (-.f64 x z) (*.f64 (+.f64 z x) (/.f64 1 y))))
0.2b
(*.f64 (-.f64 x z) (*.f64 (+.f64 z x) (/.f64 1 y)))
0.2b
(*.f64 (+.f64 z x) (/.f64 1 y))

rewrite153.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
27×add-exp-log_binary64_13415
21×add-sqr-sqrt_binary64_13399
20×frac-times_binary64_13387
17×add-cbrt-cube_binary64_13413 *-un-lft-identity_binary64_13377
14×associate-*r*_binary64_13317
13×prod-exp_binary64_13426
12×add-cube-cbrt_binary64_13412
11×times-frac_binary64_13383
10×pow1_binary64_13438 associate-*l/_binary64_13320 associate-*r/_binary64_13319
flip3-+_binary64_13380 flip-+_binary64_13351 associate-*l*_binary64_13318
cbrt-unprod_binary64_13410 flip3--_binary64_13381 flip--_binary64_13352
add-log-exp_binary64_13416
pow-prod-down_binary64_13448 div-exp_binary64_13428 un-div-inv_binary64_13375
unswap-sqr_binary64_13345
1-exp_binary64_13421 rec-exp_binary64_13427 cbrt-undiv_binary64_13411 *-commutative_binary64_13308
distribute-lft-out_binary64_13328 div-inv_binary64_13374 difference-of-squares_binary64_13346 distribute-lft-out--_binary64_13329 sum-log_binary64_13468 +-commutative_binary64_13307
Counts
3 → 96
Calls

3 calls:

15.0ms
(*.f64 (+.f64 z x) (/.f64 1 y))
13.0ms
(*.f64 (-.f64 x z) (*.f64 (+.f64 z x) (/.f64 1 y)))
5.0ms
(+.f64 y (*.f64 (-.f64 x z) (*.f64 (+.f64 z x) (/.f64 1 y))))
Compiler

Compiled 2414 to 1098 computations (54.5% saved)

series890.0ms (6.8%)

Error
0b
Counts
3 → 48
Calls

3 calls:

372.0ms
(+.f64 y (*.f64 (-.f64 x z) (*.f64 (+.f64 z x) (/.f64 1 y))))
324.0ms
(*.f64 (-.f64 x z) (*.f64 (+.f64 z x) (/.f64 1 y)))
161.0ms
(*.f64 (+.f64 z x) (/.f64 1 y))
Compiler

Compiled 1571 to 1155 computations (26.5% saved)

simplify508.0ms (3.9%)

Algorithm
egg-herbie
Rules
425×div-sub_binary64_13382
366×associate-/l*_binary64_13322
296×times-frac_binary64_13383
225×associate-*l*_binary64_13318
217×associate-*r*_binary64_13317
194×distribute-rgt-in_binary64_13327
187×distribute-lft-in_binary64_13326
140×+-commutative_binary64_13307
133×exp-prod_binary64_13429
108×associate-+l+_binary64_13310
104×*-commutative_binary64_13308
103×associate-/l/_binary64_13324
94×associate-/r/_binary64_13323
92×cancel-sign-sub-inv_binary64_13343 associate-+r+_binary64_13309
83×distribute-rgt-neg-in_binary64_13335
78×exp-sum_binary64_13423
73×associate-*r/_binary64_13319
70×cube-prod_binary64_13405
68×log-prod_binary64_13463
64×distribute-lft-neg-in_binary64_13334
63×associate-*l/_binary64_13320
54×associate-/r*_binary64_13321
53×exp-diff_binary64_13425 distribute-lft-neg-out_binary64_13336
48×log-div_binary64_13464
46×cube-div_binary64_13406
45×sub-neg_binary64_13370
42×sqr-pow_binary64_13349
38×distribute-rgt-neg-out_binary64_13337
37×distribute-rgt-out_binary64_13330
36×associate-+l-_binary64_13312
35×*-rgt-identity_binary64_13367
33×distribute-neg-in_binary64_13338
30×associate-+r-_binary64_13311
27×neg-sub0_binary64_13372
25×neg-mul-1_binary64_13373
24×*-lft-identity_binary64_13366
23×unswap-sqr_binary64_13345
20×distribute-neg-frac_binary64_13341
19×pow-plus_binary64_13440
18×associate--l-_binary64_13315
17×pow-sqr_binary64_13350
16×associate--r+_binary64_13313
15×swap-sqr_binary64_13344 distribute-rgt-out--_binary64_13331
14×log-rec_binary64_13465 unpow3_binary64_13443
13×difference-of-squares_binary64_13346 associate--l+_binary64_13314
12×cube-mult_binary64_13407
/-rgt-identity_binary64_13368
exp-lft-sqr_binary64_13432 unsub-neg_binary64_13371 mul-1-neg_binary64_13369
distribute-lft-out_binary64_13328 associate--r-_binary64_13316
exp-neg_binary64_13424 cube-unmult_binary64_13414
log-pow_binary64_13466 cube-neg_binary64_13404 sqr-neg_binary64_13391 rem-sqrt-square_binary64_13390 distribute-lft-out--_binary64_13329
unpow2_binary64_13442 unpow1_binary64_13435 prod-exp_binary64_13426 distribute-neg-out_binary64_13339
pow-base-1_binary64_13437 exp-sqrt_binary64_13430 div-exp_binary64_13428 rec-exp_binary64_13427 1-exp_binary64_13421 exp-1-e_binary64_13420 rem-log-exp_binary64_13418 rem-cbrt-cube_binary64_13401 remove-double-neg_binary64_13365 sub0-neg_binary64_13364 *-inverses_binary64_13357 lft-mult-inverse_binary64_13355 count-2_binary64_13325
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow1/2_binary64_13441 exp-to-pow_binary64_13439 unpow0_binary64_13436 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-cbrt_binary64_13431 e-exp-1_binary64_13422 exp-0_binary64_13419 rem-exp-log_binary64_13417 rem-3cbrt-rft_binary64_13403 rem-3cbrt-lft_binary64_13402 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 rem-square-sqrt_binary64_13389 --rgt-identity_binary64_13363 +-rgt-identity_binary64_13362 +-lft-identity_binary64_13361 mul0-rgt_binary64_13360 mul0-lft_binary64_13359 div0_binary64_13358 +-inverses_binary64_13356 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 cancel-sign-sub_binary64_13342 distribute-frac-neg_binary64_13340 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332
Counts
144 → 356
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01962318
15192201
222292161
342392161

prune363.0ms (2.8%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3560356
Fresh044
Picked011
Done022
Total3567363
Error
0b
Counts
363 → 7
Compiler

Compiled 8470 to 2413 computations (71.5% saved)

regimes802.0ms (6.1%)

Accuracy

Total 0.1b remaining (89.1%)

Threshold costs 0.1b (89.1%)

Compiler

Compiled 8075 to 5523 computations (31.6% saved)

bsearch0.0ms (0%)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_13307
sub-neg_binary64_13370
neg-mul-1_binary64_13373 neg-sub0_binary64_13372 *-commutative_binary64_13308
distribute-neg-frac_binary64_13341
1-exp_binary64_13421
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_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 unpow1_binary64_13435 e-exp-1_binary64_13422 exp-1-e_binary64_13420 exp-0_binary64_13419 sqr-abs_binary64_13392 sqr-neg_binary64_13391 unsub-neg_binary64_13371 mul-1-neg_binary64_13369 /-rgt-identity_binary64_13368 *-rgt-identity_binary64_13367 *-lft-identity_binary64_13366 remove-double-neg_binary64_13365 sub0-neg_binary64_13364 --rgt-identity_binary64_13363 +-rgt-identity_binary64_13362 +-lft-identity_binary64_13361 cancel-sign-sub-inv_binary64_13343 cancel-sign-sub_binary64_13342 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339 distribute-neg-in_binary64_13338 distribute-rgt-neg-out_binary64_13337 distribute-lft-neg-out_binary64_13336 distribute-rgt-neg-in_binary64_13335 distribute-lft-neg-in_binary64_13334
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01425
11925
22525
33125
43625
53925
64025
Proof
(/ f64 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (- f64 h1 (/ f64 (/ f64 h2 h1) (/ f64 1 h2)))) 2)

end0.0ms (0%)

sample1.8s (13.7%)

Algorithm
intervals
Results
322.0ms8000×body128valid
126.0ms2973×body128invalid
Compiler

Compiled 1214 to 842 computations (30.6% saved)

Profiling

Loading profile data...