Details

Time bar (total: 7.7s)

analyze63.0ms (0.8%)

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
37.5%62.4%0.1%6
50%37.5%12.6%7
56.2%31.2%12.6%8
62.4%18.7%18.8%9
65.6%15.6%18.8%10
68.7%9.4%22%11
70.2%7.8%22%12
71.8%4.7%23.5%13
72.6%3.9%23.5%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample14.0ms (0.2%)

Algorithm
intervals
Results
5.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify468.0ms (6.1%)

Algorithm
egg-herbie
Rules
720×times-frac_binary64_425
540×exp-prod_binary64_471
361×swap-sqr_binary64_386
330×unsub-neg_binary64_413
309×associate-/l*_binary64_364
219×distribute-rgt1-in_binary64_375
216×distribute-rgt-in_binary64_369
191×distribute-lft-neg-in_binary64_376
173×distribute-rgt-neg-out_binary64_379
172×distribute-rgt-neg-in_binary64_377
136×exp-sum_binary64_465
134×distribute-lft-neg-out_binary64_378
108×neg-mul-1_binary64_415
100×neg-sub0_binary64_414
92×distribute-neg-in_binary64_380
79×sqr-pow_binary64_391 associate-*r*_binary64_359
76×distribute-neg-out_binary64_381
69×distribute-lft-in_binary64_368
64×sqr-neg_binary64_433
62×associate-*l*_binary64_360
56×pow-plus_binary64_482 exp-neg_binary64_466
55×exp-diff_binary64_467
51×pow-sqr_binary64_392
47×remove-double-neg_binary64_407
45×*-commutative_binary64_350
38×associate-+l-_binary64_354
27×distribute-rgt-out_binary64_372 associate--r+_binary64_355
26×sub-neg_binary64_412
21×distribute-lft1-in_binary64_374
16×exp-lft-sqr_binary64_474
14×mul0-rgt_binary64_402 mul0-lft_binary64_401
13×div-sub_binary64_424 associate-+r+_binary64_351
11×associate-+l+_binary64_352
10×*-rgt-identity_binary64_409 cancel-sign-sub-inv_binary64_385
sub0-neg_binary64_406 +-commutative_binary64_349
*-lft-identity_binary64_408
cube-prod_binary64_447 distribute-rgt-out--_binary64_373 associate-+r-_binary64_353
pow-base-1_binary64_479 distribute-frac-neg_binary64_382
cube-unmult_binary64_456
+-rgt-identity_binary64_404 count-2_binary64_367
associate--r-_binary64_358 associate--l+_binary64_356
prod-exp_binary64_468 1-exp_binary64_463 exp-1-e_binary64_462 cube-neg_binary64_446 mul-1-neg_binary64_411 --rgt-identity_binary64_405 div0_binary64_400 unswap-sqr_binary64_387 distribute-neg-frac_binary64_383
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_682 erf-erfc_binary64_681 erf-odd_binary64_680 if-if-and-not_binary64_679 if-if-and_binary64_678 if-if-or-not_binary64_677 if-if-or_binary64_676 if-not_binary64_675 if-same_binary64_674 if-false_binary64_673 if-true_binary64_672 not-gte_binary64_671 not-lte_binary64_670 not-gt_binary64_669 not-lt_binary64_668 gte-same_binary64_667 lte-same_binary64_666 gt-same_binary64_665 lt-same_binary64_664 sinh---cosh_binary64_611 sinh-+-cosh_binary64_610 sinh-cosh_binary64_609 tanh-def-c_binary64_608 tanh-def-b_binary64_607 tanh-def-a_binary64_606 cosh-def_binary64_605 sinh-def_binary64_604 tan-neg_binary64_551 cos-neg_binary64_550 sin-neg_binary64_549 tan-0_binary64_548 cos-0_binary64_547 sin-0_binary64_546 hang-m-tan_binary64_545 hang-p-tan_binary64_544 hang-m0-tan_binary64_543 hang-p0-tan_binary64_542 hang-0m-tan_binary64_541 hang-0p-tan_binary64_540 tan-+PI/2_binary64_539 tan-+PI_binary64_538 tan-PI_binary64_537 tan-PI/3_binary64_536 tan-PI/4_binary64_535 tan-PI/6_binary64_534 cos-+PI/2_binary64_533 cos-+PI_binary64_532 cos-PI_binary64_531 cos-PI/2_binary64_530 cos-PI/3_binary64_529 cos-PI/4_binary64_528 cos-PI/6_binary64_527 sin-+PI/2_binary64_526 sin-+PI_binary64_525 sin-PI_binary64_524 sin-PI/2_binary64_523 sin-PI/3_binary64_522 sin-PI/4_binary64_521 sin-PI/6_binary64_520 sub-1-sin_binary64_519 sub-1-cos_binary64_518 -1-add-sin_binary64_517 -1-add-cos_binary64_516 1-sub-sin_binary64_515 1-sub-cos_binary64_514 cos-sin-sum_binary64_513 log-E_binary64_509 log-pow_binary64_508 log-rec_binary64_507 log-div_binary64_506 log-prod_binary64_505 pow-base-0_binary64_503 unpow1/3_binary64_486 unpow3_binary64_485 unpow2_binary64_484 unpow1/2_binary64_483 exp-to-pow_binary64_481 unpow0_binary64_478 unpow1_binary64_477 unpow-1_binary64_476 exp-lft-cube_binary64_475 exp-cbrt_binary64_473 exp-sqrt_binary64_472 div-exp_binary64_470 rec-exp_binary64_469 e-exp-1_binary64_464 exp-0_binary64_461 rem-log-exp_binary64_460 rem-exp-log_binary64_459 cube-mult_binary64_449 cube-div_binary64_448 rem-3cbrt-rft_binary64_445 rem-3cbrt-lft_binary64_444 rem-cbrt-cube_binary64_443 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 rem-sqrt-square_binary64_432 rem-square-sqrt_binary64_431 /-rgt-identity_binary64_410 +-lft-identity_binary64_403 *-inverses_binary64_399 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-sqr--1_binary64_390 difference-of-sqr-1_binary64_389 difference-of-squares_binary64_388 cancel-sign-sub_binary64_384 distribute-lft-out--_binary64_371 distribute-lft-out_binary64_370 associate-/l/_binary64_366 associate-/r/_binary64_365 associate-/r*_binary64_363 associate-*l/_binary64_362 associate-*r/_binary64_361 associate--l-_binary64_357
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
23710
36710
413810
523610
649610
7128510

prune6.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0.0b
Counts
4 → 3
Compiler

Compiled 42 to 29 computations (31% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))

rewrite38.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_441 *-un-lft-identity_binary64_419
pow1_binary64_480 add-exp-log_binary64_457 add-cbrt-cube_binary64_455 cancel-sign-sub-inv_binary64_385 associate-*r*_binary64_359
add-cube-cbrt_binary64_454 distribute-rgt-in_binary64_369 distribute-lft-in_binary64_368
pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452
sub-neg_binary64_412 associate-*r/_binary64_361 difference-of-squares_binary64_388
add-log-exp_binary64_458 flip3--_binary64_423 flip--_binary64_394 associate-*l*_binary64_360 distribute-lft-out--_binary64_371 *-commutative_binary64_350
Counts
1 → 31
Calls

1 calls:

8.0ms
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 441 to 229 computations (48.1% saved)

series159.0ms (2.1%)

Error
0.0b
Counts
1 → 9
Calls

1 calls:

153.0ms
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 178 to 132 computations (25.8% saved)

simplify264.0ms (3.4%)

Algorithm
egg-herbie
Rules
438×associate-+l+_binary64_352
239×*-commutative_binary64_350
226×unsub-neg_binary64_413
222×times-frac_binary64_425
218×distribute-rgt-neg-out_binary64_379
211×distribute-rgt-in_binary64_369
209×distribute-lft-neg-out_binary64_378
193×distribute-lft-in_binary64_368
173×associate-*l*_binary64_360
161×unswap-sqr_binary64_387
127×associate-*r*_binary64_359
118×exp-prod_binary64_471
109×associate-/l*_binary64_364
105×associate-/r*_binary64_363
84×associate-/r/_binary64_365
74×sqr-pow_binary64_391
73×associate-+l-_binary64_354
68×distribute-rgt-out_binary64_372
59×distribute-rgt-neg-in_binary64_377
55×distribute-lft-neg-in_binary64_376
54×neg-sub0_binary64_414
52×associate-+r-_binary64_353
50×neg-mul-1_binary64_415
48×log-prod_binary64_505
44×swap-sqr_binary64_386
43×associate-*l/_binary64_362
39×exp-sum_binary64_465
38×sub-neg_binary64_412 *-lft-identity_binary64_408 associate-*r/_binary64_361
35×cancel-sign-sub-inv_binary64_385
34×*-rgt-identity_binary64_409
33×pow-sqr_binary64_392
32×cube-prod_binary64_447
30×difference-of-squares_binary64_388
24×pow-plus_binary64_482
21×exp-sqrt_binary64_472
20×associate--l-_binary64_357 +-commutative_binary64_349
19×associate-/l/_binary64_366
17×log-pow_binary64_508 exp-diff_binary64_467 mul0-rgt_binary64_402 mul0-lft_binary64_401 distribute-neg-frac_binary64_383 distribute-rgt-out--_binary64_373
16×log-div_binary64_506 cube-div_binary64_448
exp-neg_binary64_466
difference-of-sqr-1_binary64_389 associate--r+_binary64_355
div-sub_binary64_424
unpow3_binary64_485 pow-base-1_binary64_479 cube-unmult_binary64_456 distribute-neg-in_binary64_380
cube-mult_binary64_449 sub0-neg_binary64_406 distribute-rgt1-in_binary64_375
prod-exp_binary64_468 distribute-neg-out_binary64_381 distribute-lft-out_binary64_370 associate--l+_binary64_356 associate-+r+_binary64_351
rem-sqrt-square_binary64_432 +-rgt-identity_binary64_404 count-2_binary64_367
unpow2_binary64_484 unpow1_binary64_477 exp-lft-sqr_binary64_474 1-exp_binary64_463 exp-1-e_binary64_462 rem-log-exp_binary64_460 rem-3cbrt-lft_binary64_444 sqr-neg_binary64_433 rem-square-sqrt_binary64_431 mul-1-neg_binary64_411 /-rgt-identity_binary64_410 *-inverses_binary64_399 distribute-lft1-in_binary64_374 distribute-lft-out--_binary64_371
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_682 erf-erfc_binary64_681 erf-odd_binary64_680 if-if-and-not_binary64_679 if-if-and_binary64_678 if-if-or-not_binary64_677 if-if-or_binary64_676 if-not_binary64_675 if-same_binary64_674 if-false_binary64_673 if-true_binary64_672 not-gte_binary64_671 not-lte_binary64_670 not-gt_binary64_669 not-lt_binary64_668 gte-same_binary64_667 lte-same_binary64_666 gt-same_binary64_665 lt-same_binary64_664 sinh---cosh_binary64_611 sinh-+-cosh_binary64_610 sinh-cosh_binary64_609 tanh-def-c_binary64_608 tanh-def-b_binary64_607 tanh-def-a_binary64_606 cosh-def_binary64_605 sinh-def_binary64_604 tan-neg_binary64_551 cos-neg_binary64_550 sin-neg_binary64_549 tan-0_binary64_548 cos-0_binary64_547 sin-0_binary64_546 hang-m-tan_binary64_545 hang-p-tan_binary64_544 hang-m0-tan_binary64_543 hang-p0-tan_binary64_542 hang-0m-tan_binary64_541 hang-0p-tan_binary64_540 tan-+PI/2_binary64_539 tan-+PI_binary64_538 tan-PI_binary64_537 tan-PI/3_binary64_536 tan-PI/4_binary64_535 tan-PI/6_binary64_534 cos-+PI/2_binary64_533 cos-+PI_binary64_532 cos-PI_binary64_531 cos-PI/2_binary64_530 cos-PI/3_binary64_529 cos-PI/4_binary64_528 cos-PI/6_binary64_527 sin-+PI/2_binary64_526 sin-+PI_binary64_525 sin-PI_binary64_524 sin-PI/2_binary64_523 sin-PI/3_binary64_522 sin-PI/4_binary64_521 sin-PI/6_binary64_520 sub-1-sin_binary64_519 sub-1-cos_binary64_518 -1-add-sin_binary64_517 -1-add-cos_binary64_516 1-sub-sin_binary64_515 1-sub-cos_binary64_514 cos-sin-sum_binary64_513 log-E_binary64_509 log-rec_binary64_507 pow-base-0_binary64_503 unpow1/3_binary64_486 unpow1/2_binary64_483 exp-to-pow_binary64_481 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-cube_binary64_475 exp-cbrt_binary64_473 div-exp_binary64_470 rec-exp_binary64_469 e-exp-1_binary64_464 exp-0_binary64_461 rem-exp-log_binary64_459 cube-neg_binary64_446 rem-3cbrt-rft_binary64_445 rem-cbrt-cube_binary64_443 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 remove-double-neg_binary64_407 --rgt-identity_binary64_405 +-lft-identity_binary64_403 div0_binary64_400 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-sqr--1_binary64_390 cancel-sign-sub_binary64_384 distribute-frac-neg_binary64_382 associate--r-_binary64_358
Counts
40 → 164
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
080517
1236453
2749451
31807451

prune140.0ms (1.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1604164
Fresh112
Picked011
Done000
Total1616167
Error
0b
Counts
167 → 6
Compiler

Compiled 2342 to 1084 computations (53.7% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))))
9.9b
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
9.9b
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
9.9b
(cbrt.f64 (*.f64 y (*.f64 (-.f64 1 y) x)))

rewrite156.0ms (2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×associate-*r/_binary64_361
18×cbrt-div_binary64_451
11×pow1_binary64_480
10×add-sqr-sqrt_binary64_441
pow1/3_binary64_501 flip3--_binary64_423 flip--_binary64_394
add-cube-cbrt_binary64_454 *-un-lft-identity_binary64_419
cbrt-prod_binary64_450
add-exp-log_binary64_457
add-log-exp_binary64_458 add-cbrt-cube_binary64_455 associate-*l/_binary64_362 frac-times_binary64_429 swap-sqr_binary64_386 associate-*l*_binary64_360 associate-*r*_binary64_359
pow-prod-down_binary64_490 pow-prod-up_binary64_489 pow-sqr_binary64_392
pow2_binary64_500 pow-plus_binary64_482 prod-exp_binary64_468 cbrt-unprod_binary64_452 unswap-sqr_binary64_387 *-commutative_binary64_350
Counts
4 → 72
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))))
6.0ms
(cbrt.f64 (*.f64 y (*.f64 (-.f64 1 y) x)))
6.0ms
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
6.0ms
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
Compiler

Compiled 2525 to 1542 computations (38.9% saved)

series1.8s (23.2%)

Error
0b
Counts
4 → 48
Calls

4 calls:

564.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))))
383.0ms
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
365.0ms
(cbrt.f64 (*.f64 y (*.f64 (-.f64 1 y) x)))
359.0ms
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
Compiler

Compiled 5394 to 4113 computations (23.7% saved)

simplify871.0ms (11.3%)

Algorithm
egg-herbie
Rules
552×times-frac_binary64_425
241×associate-/r*_binary64_363
236×*-commutative_binary64_350
223×distribute-rgt-in_binary64_369
215×associate-/l*_binary64_364
185×distribute-lft-in_binary64_368
181×cancel-sign-sub-inv_binary64_385
158×associate-*l/_binary64_362
150×distribute-rgt-neg-in_binary64_377
136×associate-*r*_binary64_359
132×log-prod_binary64_505
122×associate-*l*_binary64_360
119×distribute-lft-neg-in_binary64_376
109×associate-*r/_binary64_361
91×associate-/r/_binary64_365
80×sub-neg_binary64_412
75×log-div_binary64_506
68×neg-mul-1_binary64_415
67×neg-sub0_binary64_414
64×sqr-pow_binary64_391
63×exp-prod_binary64_471
61×exp-sum_binary64_465 distribute-lft-neg-out_binary64_378
60×distribute-neg-frac_binary64_383
57×associate-+l+_binary64_352
55×+-commutative_binary64_349
50×unswap-sqr_binary64_387
46×associate-+l-_binary64_354
43×associate-+r-_binary64_353
37×unsub-neg_binary64_413 associate--r+_binary64_355
33×distribute-rgt-out_binary64_372 associate--l+_binary64_356
32×associate-+r+_binary64_351
30×associate-/l/_binary64_366
27×*-rgt-identity_binary64_409 distribute-rgt-neg-out_binary64_379
26×log-pow_binary64_508
24×pow-plus_binary64_482 distribute-neg-in_binary64_380
23×*-lft-identity_binary64_408
22×unpow1/3_binary64_486 pow-sqr_binary64_392
21×swap-sqr_binary64_386
16×/-rgt-identity_binary64_410
11×cube-prod_binary64_447 distribute-lft-out_binary64_370
10×distribute-neg-out_binary64_381
exp-to-pow_binary64_481 exp-diff_binary64_467 div-sub_binary64_424
log-rec_binary64_507 distribute-rgt-out--_binary64_373
unpow3_binary64_485 cube-unmult_binary64_456 distribute-rgt1-in_binary64_375 associate--r-_binary64_358 associate--l-_binary64_357
unpow2_binary64_484 prod-exp_binary64_468 difference-of-squares_binary64_388 count-2_binary64_367
unpow1_binary64_477 div-exp_binary64_470 rem-sqrt-square_binary64_432 remove-double-neg_binary64_407
pow-base-1_binary64_479 cube-div_binary64_448 rem-3cbrt-lft_binary64_444
exp-lft-sqr_binary64_474 exp-sqrt_binary64_472 cube-mult_binary64_449 cancel-sign-sub_binary64_384 distribute-lft-out--_binary64_371
1-exp_binary64_463 exp-1-e_binary64_462 rem-log-exp_binary64_460 rem-3cbrt-rft_binary64_445 rem-square-sqrt_binary64_431 mul-1-neg_binary64_411 *-inverses_binary64_399 distribute-lft1-in_binary64_374
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_682 erf-erfc_binary64_681 erf-odd_binary64_680 if-if-and-not_binary64_679 if-if-and_binary64_678 if-if-or-not_binary64_677 if-if-or_binary64_676 if-not_binary64_675 if-same_binary64_674 if-false_binary64_673 if-true_binary64_672 not-gte_binary64_671 not-lte_binary64_670 not-gt_binary64_669 not-lt_binary64_668 gte-same_binary64_667 lte-same_binary64_666 gt-same_binary64_665 lt-same_binary64_664 sinh---cosh_binary64_611 sinh-+-cosh_binary64_610 sinh-cosh_binary64_609 tanh-def-c_binary64_608 tanh-def-b_binary64_607 tanh-def-a_binary64_606 cosh-def_binary64_605 sinh-def_binary64_604 tan-neg_binary64_551 cos-neg_binary64_550 sin-neg_binary64_549 tan-0_binary64_548 cos-0_binary64_547 sin-0_binary64_546 hang-m-tan_binary64_545 hang-p-tan_binary64_544 hang-m0-tan_binary64_543 hang-p0-tan_binary64_542 hang-0m-tan_binary64_541 hang-0p-tan_binary64_540 tan-+PI/2_binary64_539 tan-+PI_binary64_538 tan-PI_binary64_537 tan-PI/3_binary64_536 tan-PI/4_binary64_535 tan-PI/6_binary64_534 cos-+PI/2_binary64_533 cos-+PI_binary64_532 cos-PI_binary64_531 cos-PI/2_binary64_530 cos-PI/3_binary64_529 cos-PI/4_binary64_528 cos-PI/6_binary64_527 sin-+PI/2_binary64_526 sin-+PI_binary64_525 sin-PI_binary64_524 sin-PI/2_binary64_523 sin-PI/3_binary64_522 sin-PI/4_binary64_521 sin-PI/6_binary64_520 sub-1-sin_binary64_519 sub-1-cos_binary64_518 -1-add-sin_binary64_517 -1-add-cos_binary64_516 1-sub-sin_binary64_515 1-sub-cos_binary64_514 cos-sin-sum_binary64_513 log-E_binary64_509 pow-base-0_binary64_503 unpow1/2_binary64_483 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-cube_binary64_475 exp-cbrt_binary64_473 rec-exp_binary64_469 exp-neg_binary64_466 e-exp-1_binary64_464 exp-0_binary64_461 rem-exp-log_binary64_459 cube-neg_binary64_446 rem-cbrt-cube_binary64_443 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 sqr-neg_binary64_433 sub0-neg_binary64_406 --rgt-identity_binary64_405 +-rgt-identity_binary64_404 +-lft-identity_binary64_403 mul0-rgt_binary64_402 mul0-lft_binary64_401 div0_binary64_400 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-sqr--1_binary64_390 difference-of-sqr-1_binary64_389 distribute-frac-neg_binary64_382
Counts
120 → 369
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02103740
15063573
216323042
348082989

prune1.0s (13.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3690369
Fresh044
Picked011
Done011
Total3696375
Error
0b
Counts
375 → 6
Compiler

Compiled 14496 to 9327 computations (35.7% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 y (*.f64 y y))
4.5b
(*.f64 x (-.f64 y (*.f64 y y)))

rewrite37.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_441
*-un-lft-identity_binary64_419
associate-*r*_binary64_359
pow1_binary64_480 add-exp-log_binary64_457 add-log-exp_binary64_458 add-cbrt-cube_binary64_455 add-cube-cbrt_binary64_454
sub-neg_binary64_412 cancel-sign-sub-inv_binary64_385 associate-*l*_binary64_360
distribute-rgt-in_binary64_369 distribute-lft-in_binary64_368 flip3--_binary64_423 associate-*r/_binary64_361 flip--_binary64_394 difference-of-squares_binary64_388 distribute-rgt-out--_binary64_373
pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452 unswap-sqr_binary64_387 *-commutative_binary64_350 diff-log_binary64_511
Counts
2 → 40
Calls

2 calls:

6.0ms
(*.f64 x (-.f64 y (*.f64 y y)))
3.0ms
(-.f64 y (*.f64 y y))
Compiler

Compiled 543 to 132 computations (75.7% saved)

series208.0ms (2.7%)

Error
0b
Counts
2 → 15
Calls

2 calls:

149.0ms
(*.f64 x (-.f64 y (*.f64 y y)))
52.0ms
(-.f64 y (*.f64 y y))
Compiler

Compiled 275 to 207 computations (24.7% saved)

simplify201.0ms (2.6%)

Algorithm
egg-herbie
Rules
802×associate-*l/_binary64_362
788×associate-*r/_binary64_361
171×times-frac_binary64_425
158×distribute-rgt-in_binary64_369
149×distribute-lft-in_binary64_368
106×distribute-lft-neg-out_binary64_378
104×distribute-rgt-neg-out_binary64_379
100×*-commutative_binary64_350
96×unswap-sqr_binary64_387
94×associate-/r*_binary64_363
90×sqr-pow_binary64_391
82×exp-prod_binary64_471
80×associate-/l*_binary64_364
78×associate-*l*_binary64_360
75×associate-/r/_binary64_365
73×unsub-neg_binary64_413
72×cancel-sign-sub-inv_binary64_385
70×distribute-rgt-neg-in_binary64_377
68×associate-*r*_binary64_359
63×distribute-lft-neg-in_binary64_376
52×distribute-rgt-out_binary64_372
51×difference-of-squares_binary64_388
48×sub-neg_binary64_412
41×neg-sub0_binary64_414
40×neg-mul-1_binary64_415 swap-sqr_binary64_386
31×log-prod_binary64_505 exp-sum_binary64_465 *-rgt-identity_binary64_409 pow-sqr_binary64_392
30×cube-prod_binary64_447 *-lft-identity_binary64_408
28×distribute-rgt-out--_binary64_373
27×distribute-rgt1-in_binary64_375 +-commutative_binary64_349
26×exp-sqrt_binary64_472
23×associate-/l/_binary64_366
20×pow-plus_binary64_482
14×exp-diff_binary64_467
13×cube-div_binary64_448 mul0-rgt_binary64_402 mul0-lft_binary64_401
12×log-div_binary64_506 distribute-neg-frac_binary64_383
unpow3_binary64_485 associate-+r-_binary64_353 associate-+l+_binary64_352
cube-unmult_binary64_456 sub0-neg_binary64_406 distribute-lft-out_binary64_370 associate-+l-_binary64_354
div-sub_binary64_424 +-rgt-identity_binary64_404 associate-+r+_binary64_351
distribute-lft1-in_binary64_374
cube-mult_binary64_449 distribute-neg-in_binary64_380
distribute-lft-out--_binary64_371
log-pow_binary64_508 sqr-neg_binary64_433 difference-of-sqr-1_binary64_389 count-2_binary64_367
unpow2_binary64_484 unpow1_binary64_477 exp-lft-sqr_binary64_474 div-exp_binary64_470 prod-exp_binary64_468 1-exp_binary64_463 exp-1-e_binary64_462 rem-log-exp_binary64_460 rem-sqrt-square_binary64_432 mul-1-neg_binary64_411 *-inverses_binary64_399 rgt-mult-inverse_binary64_396
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_682 erf-erfc_binary64_681 erf-odd_binary64_680 if-if-and-not_binary64_679 if-if-and_binary64_678 if-if-or-not_binary64_677 if-if-or_binary64_676 if-not_binary64_675 if-same_binary64_674 if-false_binary64_673 if-true_binary64_672 not-gte_binary64_671 not-lte_binary64_670 not-gt_binary64_669 not-lt_binary64_668 gte-same_binary64_667 lte-same_binary64_666 gt-same_binary64_665 lt-same_binary64_664 sinh---cosh_binary64_611 sinh-+-cosh_binary64_610 sinh-cosh_binary64_609 tanh-def-c_binary64_608 tanh-def-b_binary64_607 tanh-def-a_binary64_606 cosh-def_binary64_605 sinh-def_binary64_604 tan-neg_binary64_551 cos-neg_binary64_550 sin-neg_binary64_549 tan-0_binary64_548 cos-0_binary64_547 sin-0_binary64_546 hang-m-tan_binary64_545 hang-p-tan_binary64_544 hang-m0-tan_binary64_543 hang-p0-tan_binary64_542 hang-0m-tan_binary64_541 hang-0p-tan_binary64_540 tan-+PI/2_binary64_539 tan-+PI_binary64_538 tan-PI_binary64_537 tan-PI/3_binary64_536 tan-PI/4_binary64_535 tan-PI/6_binary64_534 cos-+PI/2_binary64_533 cos-+PI_binary64_532 cos-PI_binary64_531 cos-PI/2_binary64_530 cos-PI/3_binary64_529 cos-PI/4_binary64_528 cos-PI/6_binary64_527 sin-+PI/2_binary64_526 sin-+PI_binary64_525 sin-PI_binary64_524 sin-PI/2_binary64_523 sin-PI/3_binary64_522 sin-PI/4_binary64_521 sin-PI/6_binary64_520 sub-1-sin_binary64_519 sub-1-cos_binary64_518 -1-add-sin_binary64_517 -1-add-cos_binary64_516 1-sub-sin_binary64_515 1-sub-cos_binary64_514 cos-sin-sum_binary64_513 log-E_binary64_509 log-rec_binary64_507 pow-base-0_binary64_503 unpow1/3_binary64_486 unpow1/2_binary64_483 exp-to-pow_binary64_481 pow-base-1_binary64_479 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-cube_binary64_475 exp-cbrt_binary64_473 rec-exp_binary64_469 exp-neg_binary64_466 e-exp-1_binary64_464 exp-0_binary64_461 rem-exp-log_binary64_459 cube-neg_binary64_446 rem-3cbrt-rft_binary64_445 rem-3cbrt-lft_binary64_444 rem-cbrt-cube_binary64_443 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 rem-square-sqrt_binary64_431 /-rgt-identity_binary64_410 remove-double-neg_binary64_407 --rgt-identity_binary64_405 +-lft-identity_binary64_403 div0_binary64_400 +-inverses_binary64_398 lft-mult-inverse_binary64_397 remove-double-div_binary64_395 difference-of-sqr--1_binary64_390 cancel-sign-sub_binary64_384 distribute-frac-neg_binary64_382 distribute-neg-out_binary64_381 associate--r-_binary64_358 associate--l-_binary64_357 associate--l+_binary64_356 associate--r+_binary64_355
Counts
55 → 108
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
072666
1155600
2550600
31460600

prune74.0ms (1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1080108
Fresh033
Picked011
Done022
Total1086114
Error
0b
Counts
114 → 6
Compiler

Compiled 1408 to 463 computations (67.1% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (-.f64 1 y))
0.0b
(sqrt.f64 (-.f64 1 y))
0.1b
(*.f64 (*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
0.1b
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))

rewrite162.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
24×add-sqr-sqrt_binary64_441 sqrt-prod_binary64_435
22×*-un-lft-identity_binary64_419
20×pow1_binary64_480
18×add-exp-log_binary64_457 add-cbrt-cube_binary64_455 sqrt-div_binary64_436 associate-*r*_binary64_359
10×add-cube-cbrt_binary64_454 associate-*r/_binary64_361
pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452 flip3--_binary64_423 flip--_binary64_394
difference-of-squares_binary64_388
add-log-exp_binary64_458 distribute-lft-out--_binary64_371 frac-times_binary64_429
associate-*l*_binary64_360 *-commutative_binary64_350 associate-*l/_binary64_362 pow1/2_binary64_499 sqrt-pow1_binary64_437 rem-sqrt-square_binary64_432
Counts
4 → 97
Calls

4 calls:

15.0ms
(*.f64 (*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
10.0ms
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
3.0ms
(sqrt.f64 (-.f64 1 y))
3.0ms
(sqrt.f64 (-.f64 1 y))
Compiler

Compiled 2088 to 1399 computations (33% saved)

series340.0ms (4.4%)

Error
0b
Counts
4 → 29
Calls

4 calls:

139.0ms
(*.f64 (*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
129.0ms
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
25.0ms
(sqrt.f64 (-.f64 1 y))
25.0ms
(sqrt.f64 (-.f64 1 y))
Compiler

Compiled 943 to 707 computations (25% saved)

simplify422.0ms (5.5%)

Algorithm
egg-herbie
Rules
372×times-frac_binary64_425
370×associate-*l*_binary64_360
258×cancel-sign-sub-inv_binary64_385
238×associate-*r*_binary64_359
185×distribute-rgt-in_binary64_369
159×distribute-lft-in_binary64_368
135×distribute-rgt-neg-in_binary64_377
121×distribute-lft-neg-out_binary64_378
114×sub-neg_binary64_412
112×unswap-sqr_binary64_387 distribute-lft-neg-in_binary64_376
107×distribute-rgt-neg-out_binary64_379
104×sqr-pow_binary64_391
103×exp-prod_binary64_471
94×*-commutative_binary64_350
83×distribute-rgt-out_binary64_372
81×associate-*l/_binary64_362
65×log-prod_binary64_505
62×swap-sqr_binary64_386 distribute-lft-out_binary64_370
61×associate-*r/_binary64_361
55×neg-sub0_binary64_414
54×neg-mul-1_binary64_415
50×cube-prod_binary64_447
48×*-lft-identity_binary64_408
47×distribute-lft-out--_binary64_371
42×*-rgt-identity_binary64_409
35×distribute-rgt-out--_binary64_373
34×pow-sqr_binary64_392
33×+-commutative_binary64_349
32×unsub-neg_binary64_413
29×associate-+l+_binary64_352
27×exp-sqrt_binary64_472
24×log-div_binary64_506 cube-div_binary64_448 distribute-neg-frac_binary64_383
21×distribute-rgt1-in_binary64_375
20×pow-plus_binary64_482
18×associate-+l-_binary64_354
17×associate--r+_binary64_355
16×log-pow_binary64_508
15×sub0-neg_binary64_406 associate-+r+_binary64_351
14×exp-sum_binary64_465 distribute-neg-in_binary64_380 associate-+r-_binary64_353
13×rem-sqrt-square_binary64_432
12×exp-diff_binary64_467
10×difference-of-squares_binary64_388
unpow3_binary64_485 cube-mult_binary64_449
associate--l+_binary64_356
pow-base-1_binary64_479 cube-unmult_binary64_456 div-sub_binary64_424 +-rgt-identity_binary64_404
rem-square-sqrt_binary64_431
prod-exp_binary64_468 difference-of-sqr-1_binary64_389
cancel-sign-sub_binary64_384 distribute-neg-out_binary64_381
count-2_binary64_367 associate-/l/_binary64_366 associate-/r/_binary64_365 associate-/l*_binary64_364 associate--l-_binary64_357
unpow2_binary64_484 unpow1_binary64_477 exp-lft-sqr_binary64_474 1-exp_binary64_463 exp-1-e_binary64_462 rem-log-exp_binary64_460 mul-1-neg_binary64_411 /-rgt-identity_binary64_410 +-lft-identity_binary64_403 *-inverses_binary64_399
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_682 erf-erfc_binary64_681 erf-odd_binary64_680 if-if-and-not_binary64_679 if-if-and_binary64_678 if-if-or-not_binary64_677 if-if-or_binary64_676 if-not_binary64_675 if-same_binary64_674 if-false_binary64_673 if-true_binary64_672 not-gte_binary64_671 not-lte_binary64_670 not-gt_binary64_669 not-lt_binary64_668 gte-same_binary64_667 lte-same_binary64_666 gt-same_binary64_665 lt-same_binary64_664 sinh---cosh_binary64_611 sinh-+-cosh_binary64_610 sinh-cosh_binary64_609 tanh-def-c_binary64_608 tanh-def-b_binary64_607 tanh-def-a_binary64_606 cosh-def_binary64_605 sinh-def_binary64_604 tan-neg_binary64_551 cos-neg_binary64_550 sin-neg_binary64_549 tan-0_binary64_548 cos-0_binary64_547 sin-0_binary64_546 hang-m-tan_binary64_545 hang-p-tan_binary64_544 hang-m0-tan_binary64_543 hang-p0-tan_binary64_542 hang-0m-tan_binary64_541 hang-0p-tan_binary64_540 tan-+PI/2_binary64_539 tan-+PI_binary64_538 tan-PI_binary64_537 tan-PI/3_binary64_536 tan-PI/4_binary64_535 tan-PI/6_binary64_534 cos-+PI/2_binary64_533 cos-+PI_binary64_532 cos-PI_binary64_531 cos-PI/2_binary64_530 cos-PI/3_binary64_529 cos-PI/4_binary64_528 cos-PI/6_binary64_527 sin-+PI/2_binary64_526 sin-+PI_binary64_525 sin-PI_binary64_524 sin-PI/2_binary64_523 sin-PI/3_binary64_522 sin-PI/4_binary64_521 sin-PI/6_binary64_520 sub-1-sin_binary64_519 sub-1-cos_binary64_518 -1-add-sin_binary64_517 -1-add-cos_binary64_516 1-sub-sin_binary64_515 1-sub-cos_binary64_514 cos-sin-sum_binary64_513 log-E_binary64_509 log-rec_binary64_507 pow-base-0_binary64_503 unpow1/3_binary64_486 unpow1/2_binary64_483 exp-to-pow_binary64_481 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-cube_binary64_475 exp-cbrt_binary64_473 div-exp_binary64_470 rec-exp_binary64_469 exp-neg_binary64_466 e-exp-1_binary64_464 exp-0_binary64_461 rem-exp-log_binary64_459 cube-neg_binary64_446 rem-3cbrt-rft_binary64_445 rem-3cbrt-lft_binary64_444 rem-cbrt-cube_binary64_443 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 sqr-neg_binary64_433 remove-double-neg_binary64_407 --rgt-identity_binary64_405 mul0-rgt_binary64_402 mul0-lft_binary64_401 div0_binary64_400 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-sqr--1_binary64_390 distribute-frac-neg_binary64_382 distribute-lft1-in_binary64_374 associate-/r*_binary64_363 associate--r-_binary64_358
Counts
126 → 246
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01421811
13701650
213731631
327481626

prune286.0ms (3.7%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New2460246
Fresh022
Picked011
Done033
Total2466252
Error
0b
Counts
252 → 6
Compiler

Compiled 5184 to 3220 computations (37.9% saved)

regimes130.0ms (1.7%)

Accuracy

Total 0.1b remaining (89.5%)

Threshold costs 0.1b (89.5%)

Compiler

Compiled 1089 to 854 computations (21.6% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_350
sub-neg_binary64_412 +-commutative_binary64_349
1-exp_binary64_463 neg-mul-1_binary64_415 neg-sub0_binary64_414
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_679 if-if-and_binary64_678 if-if-or-not_binary64_677 if-if-or_binary64_676 if-not_binary64_675 if-same_binary64_674 if-false_binary64_673 if-true_binary64_672 tan-0_binary64_548 cos-0_binary64_547 sin-0_binary64_546 unpow1_binary64_477 e-exp-1_binary64_464 exp-1-e_binary64_462 exp-0_binary64_461 sqr-abs_binary64_434 sqr-neg_binary64_433 unsub-neg_binary64_413 mul-1-neg_binary64_411 /-rgt-identity_binary64_410 *-rgt-identity_binary64_409 *-lft-identity_binary64_408 remove-double-neg_binary64_407 sub0-neg_binary64_406 --rgt-identity_binary64_405 +-rgt-identity_binary64_404 +-lft-identity_binary64_403 cancel-sign-sub-inv_binary64_385 cancel-sign-sub_binary64_384 distribute-neg-frac_binary64_383 distribute-frac-neg_binary64_382 distribute-neg-out_binary64_381 distribute-neg-in_binary64_380 distribute-rgt-neg-out_binary64_379 distribute-lft-neg-out_binary64_378 distribute-rgt-neg-in_binary64_377 distribute-lft-neg-in_binary64_376
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11310
21710
31910
42010
Proof
(* f64 (* f64 h0 h1) (- f64 1 h1))

end0.0ms (0%)

sample802.0ms (10.4%)

Algorithm
intervals
Results
181.0ms8000×body128valid
4.0ms166×body128invalid
Compiler

Compiled 372 to 293 computations (21.2% saved)

Profiling

Loading profile data...