Details

Time bar (total: 4.3s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%25%25%4
50%12.5%37.5%5
50%6.2%43.8%6
50%3.1%46.9%7
50%1.6%48.5%8
50%0.8%49.2%9
50%0.4%49.6%10
50.2%0.2%49.6%11
50.2%0.1%49.7%12
50.2%0%49.8%13
50.2%0%49.8%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample15.0ms (0.3%)

Algorithm
intervals
Results
7.0ms256×body128valid
Compiler

Compiled 15 to 14 computations (6.7% saved)

simplify152.0ms (3.5%)

Algorithm
egg-herbie
Rules
675×div-sub_binary64_424
511×sub-neg_binary64_412
417×times-frac_binary64_425
411×associate-/l*_binary64_364
366×associate-/r*_binary64_363
345×associate-*l*_binary64_360
253×exp-prod_binary64_471
221×exp-sum_binary64_465
200×distribute-rgt-in_binary64_369
185×exp-diff_binary64_467
184×associate-/l/_binary64_366
173×associate-/r/_binary64_365
167×sqr-pow_binary64_391
153×associate-*l/_binary64_362
144×unsub-neg_binary64_413
142×distribute-lft-in_binary64_368
125×associate-*r/_binary64_361
113×*-commutative_binary64_350
87×associate-*r*_binary64_359
84×neg-mul-1_binary64_415
80×*-rgt-identity_binary64_409
74×*-lft-identity_binary64_408
67×neg-sub0_binary64_414
64×pow-sqr_binary64_392
47×distribute-rgt-neg-out_binary64_379
46×remove-double-div_binary64_395
42×/-rgt-identity_binary64_410
41×cancel-sign-sub-inv_binary64_385
36×distribute-neg-frac_binary64_383
35×cube-prod_binary64_447 rem-sqrt-square_binary64_432
29×distribute-rgt-neg-in_binary64_377
28×unswap-sqr_binary64_387
27×distribute-frac-neg_binary64_382
24×distribute-neg-in_binary64_380
21×distribute-lft-neg-out_binary64_378 distribute-lft-neg-in_binary64_376 associate--r+_binary64_355
20×cube-unmult_binary64_456
19×pow-plus_binary64_482
17×exp-lft-sqr_binary64_474
14×unpow3_binary64_485 exp-sqrt_binary64_472 mul0-rgt_binary64_402 mul0-lft_binary64_401
12×div0_binary64_400 associate-+r-_binary64_353
11×cube-div_binary64_448 remove-double-neg_binary64_407
10×associate-+r+_binary64_351
unpow1/2_binary64_483
+-commutative_binary64_349
cube-mult_binary64_449 sub0-neg_binary64_406 associate--l+_binary64_356
prod-exp_binary64_468 exp-neg_binary64_466 associate-+l-_binary64_354
associate-+l+_binary64_352
associate--r-_binary64_358 associate--l-_binary64_357
rec-exp_binary64_469 difference-of-sqr--1_binary64_390 distribute-lft1-in_binary64_374
unpow2_binary64_484 1-exp_binary64_463 exp-1-e_binary64_462 +-rgt-identity_binary64_404 +-lft-identity_binary64_403 swap-sqr_binary64_386 distribute-rgt1-in_binary64_375
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 exp-to-pow_binary64_481 pow-base-1_binary64_479 unpow0_binary64_478 unpow1_binary64_477 unpow-1_binary64_476 exp-lft-cube_binary64_475 exp-cbrt_binary64_473 div-exp_binary64_470 e-exp-1_binary64_464 exp-0_binary64_461 rem-log-exp_binary64_460 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 rem-square-sqrt_binary64_431 mul-1-neg_binary64_411 --rgt-identity_binary64_405 *-inverses_binary64_399 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 difference-of-sqr-1_binary64_389 difference-of-squares_binary64_388 cancel-sign-sub_binary64_384 distribute-neg-out_binary64_381 distribute-rgt-out--_binary64_373 distribute-rgt-out_binary64_372 distribute-lft-out--_binary64_371 distribute-lft-out_binary64_370 count-2_binary64_367
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0711
1199
2459
3869
41809
53929
612289
733739
843289
950379

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Compiler

Compiled 18 to 13 computations (27.8% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(exp.f64 (+.f64 -1 (*.f64 x x)))

rewrite19.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64_458
exp-prod_binary64_471
add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441 *-un-lft-identity_binary64_419 rem-exp-log_binary64_459
pow1_binary64_480 exp-sum_binary64_465 sum-log_binary64_510 add-exp-log_binary64_457 add-cbrt-cube_binary64_455
Counts
1 → 13
Calls

1 calls:

8.0ms
(exp.f64 (+.f64 -1 (*.f64 x x)))
Compiler

Compiled 154 to 92 computations (40.3% saved)

series27.0ms (0.6%)

Error
0.0b
Counts
1 → 6
Calls

1 calls:

21.0ms
(exp.f64 (+.f64 -1 (*.f64 x x)))
Compiler

Compiled 148 to 139 computations (6.1% saved)

simplify70.0ms (1.6%)

Algorithm
egg-herbie
Rules
466×associate-*l*_binary64_360
388×unswap-sqr_binary64_387
352×distribute-rgt-out_binary64_372
342×associate-*r*_binary64_359
326×distribute-lft-out_binary64_370
255×exp-prod_binary64_471
164×times-frac_binary64_425
137×cancel-sign-sub-inv_binary64_385
101×*-commutative_binary64_350
89×exp-sum_binary64_465
83×associate-+l+_binary64_352
68×sqr-pow_binary64_391
59×distribute-neg-in_binary64_380
58×associate-+r+_binary64_351
55×sub-neg_binary64_412
49×exp-to-pow_binary64_481 associate-/l*_binary64_364
48×log-prod_binary64_505
47×prod-exp_binary64_468
44×distribute-rgt-neg-in_binary64_377
43×log-pow_binary64_508
35×unpow3_binary64_485
34×distribute-lft-neg-in_binary64_376
33×cube-prod_binary64_447
32×distribute-rgt-in_binary64_369 distribute-lft-in_binary64_368
31×associate-*l/_binary64_362
30×+-commutative_binary64_349
29×exp-diff_binary64_467
25×pow-sqr_binary64_392
24×div-exp_binary64_470
23×pow-plus_binary64_482
20×associate-+l-_binary64_354
19×associate-*r/_binary64_361
18×associate--r+_binary64_355 associate-+r-_binary64_353
17×distribute-rgt1-in_binary64_375
14×associate-/l/_binary64_366 associate-/r*_binary64_363
12×neg-mul-1_binary64_415 neg-sub0_binary64_414
11×log-div_binary64_506 distribute-lft-neg-out_binary64_378
10×cube-unmult_binary64_456 associate--l+_binary64_356
swap-sqr_binary64_386 distribute-rgt-out--_binary64_373
associate--r-_binary64_358
distribute-lft1-in_binary64_374
cube-mult_binary64_449 associate-/r/_binary64_365
exp-lft-sqr_binary64_474 rem-log-exp_binary64_460 cube-div_binary64_448 count-2_binary64_367 associate--l-_binary64_357
unsub-neg_binary64_413
div-sub_binary64_424 difference-of-sqr--1_binary64_390 difference-of-sqr-1_binary64_389
unpow1_binary64_477 exp-sqrt_binary64_472 rem-sqrt-square_binary64_432 *-rgt-identity_binary64_409 *-lft-identity_binary64_408 distribute-lft-out--_binary64_371
log-E_binary64_509 unpow2_binary64_484 unpow1/2_binary64_483 1-exp_binary64_463 exp-1-e_binary64_462 rem-exp-log_binary64_459 mul-1-neg_binary64_411 remove-double-neg_binary64_407 cancel-sign-sub_binary64_384 distribute-rgt-neg-out_binary64_379
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-rec_binary64_507 pow-base-0_binary64_503 unpow1/3_binary64_486 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 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 rem-square-sqrt_binary64_431 /-rgt-identity_binary64_410 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_399 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-squares_binary64_388 distribute-neg-frac_binary64_383 distribute-frac-neg_binary64_382 distribute-neg-out_binary64_381
Counts
19 → 17
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042253
184230
2197220
3546215
42016215
54782215
65047215

prune21.0ms (0.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New15217
Fresh000
Picked011
Done000
Total15318
Error
0.0b
Counts
18 → 3
Compiler

Compiled 255 to 186 computations (27.1% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(exp.f64 (+.f64 -1 (*.f64 x x)))
1.0b
(pow.f64 (exp.f64 (+.f64 -1 (*.f64 x x))) 3)
1.6b
(cbrt.f64 (pow.f64 (exp.f64 (+.f64 -1 (*.f64 x x))) 3))

rewrite85.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
14×cbrt-prod_binary64_450
11×add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441 *-un-lft-identity_binary64_419
unpow-prod-down_binary64_498 cube-prod_binary64_447
add-log-exp_binary64_458 exp-prod_binary64_471
exp-sum_binary64_465
pow1_binary64_480 add-cbrt-cube_binary64_455 pow-pow_binary64_491
add-exp-log_binary64_457 pow-unpow_binary64_496
unpow3_binary64_485 cube-mult_binary64_449 sqr-pow_binary64_391 rem-exp-log_binary64_459
pow1/3_binary64_501 rem-cbrt-cube_binary64_443 pow-to-exp_binary64_488 pow-exp_binary64_487 rem-cube-cbrt_binary64_442 sum-log_binary64_510
Counts
3 → 64
Calls

3 calls:

5.0ms
(pow.f64 (exp.f64 (+.f64 -1 (*.f64 x x))) 3)
5.0ms
(cbrt.f64 (pow.f64 (exp.f64 (+.f64 -1 (*.f64 x x))) 3))
4.0ms
(exp.f64 (+.f64 -1 (*.f64 x x)))
Compiler

Compiled 1097 to 758 computations (30.9% saved)

series142.0ms (3.3%)

Error
0.0b
Counts
3 → 18
Calls

3 calls:

80.0ms
(pow.f64 (exp.f64 (+.f64 -1 (*.f64 x x))) 3)
22.0ms
(exp.f64 (+.f64 -1 (*.f64 x x)))
22.0ms
(cbrt.f64 (pow.f64 (exp.f64 (+.f64 -1 (*.f64 x x))) 3))
Compiler

Compiled 564 to 535 computations (5.1% saved)

simplify85.0ms (2%)

Algorithm
egg-herbie
Rules
702×associate-*l*_binary64_360
599×associate-*r*_binary64_359
456×log-prod_binary64_505
419×exp-prod_binary64_471
369×cube-prod_binary64_447
280×unswap-sqr_binary64_387
198×prod-exp_binary64_468
105×*-commutative_binary64_350
92×exp-sum_binary64_465
69×associate-+l+_binary64_352
54×sqr-pow_binary64_391
53×associate-*l/_binary64_362
51×associate-+r+_binary64_351
47×associate-*r/_binary64_361
42×log-div_binary64_506
37×+-commutative_binary64_349
36×cube-div_binary64_448
33×log-pow_binary64_508
32×swap-sqr_binary64_386
31×unpow3_binary64_485
30×pow-plus_binary64_482
26×cube-unmult_binary64_456
20×cube-mult_binary64_449 distribute-rgt-out_binary64_372
18×distribute-rgt-in_binary64_369
16×distribute-lft-in_binary64_368
14×exp-diff_binary64_467 pow-sqr_binary64_392
12×distribute-lft-out_binary64_370
10×associate-/l*_binary64_364
rem-sqrt-square_binary64_432
rem-log-exp_binary64_460 rem-cbrt-cube_binary64_443 distribute-rgt1-in_binary64_375 associate--r+_binary64_355 associate-+l-_binary64_354
count-2_binary64_367 associate-+r-_binary64_353
div-exp_binary64_470 rem-exp-log_binary64_459 sub-neg_binary64_412
cancel-sign-sub-inv_binary64_385 associate-/l/_binary64_366
unpow1/2_binary64_483 unpow1_binary64_477
log-E_binary64_509 unpow2_binary64_484 exp-lft-cube_binary64_475 1-exp_binary64_463 exp-1-e_binary64_462 rem-3cbrt-lft_binary64_444 rem-cube-cbrt_binary64_442 rem-square-sqrt_binary64_431 difference-of-sqr--1_binary64_390 difference-of-sqr-1_binary64_389 associate-/r/_binary64_365 associate--r-_binary64_358
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-rec_binary64_507 pow-base-0_binary64_503 unpow1/3_binary64_486 exp-to-pow_binary64_481 pow-base-1_binary64_479 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-sqr_binary64_474 exp-cbrt_binary64_473 exp-sqrt_binary64_472 rec-exp_binary64_469 exp-neg_binary64_466 e-exp-1_binary64_464 exp-0_binary64_461 cube-neg_binary64_446 rem-3cbrt-rft_binary64_445 sqr-abs_binary64_434 sqr-neg_binary64_433 times-frac_binary64_425 div-sub_binary64_424 neg-mul-1_binary64_415 neg-sub0_binary64_414 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 mul0-rgt_binary64_402 mul0-lft_binary64_401 div0_binary64_400 *-inverses_binary64_399 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-squares_binary64_388 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 distribute-lft1-in_binary64_374 distribute-rgt-out--_binary64_373 distribute-lft-out--_binary64_371 associate-/r*_binary64_363 associate--l-_binary64_357 associate--l+_binary64_356
Counts
82 → 133
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0991309
11931214
25781132
331201132
450901132

prune131.0ms (3.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1321133
Fresh101
Picked101
Done011
Total1342136
Error
0.0b
Counts
136 → 2
Compiler

Compiled 2270 to 1541 computations (32.1% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 (+.f64 -1 (*.f64 x x)) 3)
0.0b
(exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))
1.6b
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))

rewrite55.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
10×add-log-exp_binary64_458
add-sqr-sqrt_binary64_441
add-cube-cbrt_binary64_454 *-un-lft-identity_binary64_419
pow1_binary64_480 add-exp-log_binary64_457 add-cbrt-cube_binary64_455
exp-to-pow_binary64_481 rem-cbrt-cube_binary64_443
cbrt-prod_binary64_450 associate-*l*_binary64_360 associate-*r*_binary64_359
sum-log_binary64_510 exp-lft-cube_binary64_475 exp-prod_binary64_471 associate-*l/_binary64_362
pow1/3_binary64_501 rem-exp-log_binary64_459 pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452 unswap-sqr_binary64_387 flip3-+_binary64_422 flip-+_binary64_393 *-commutative_binary64_350
Counts
3 → 47
Calls

3 calls:

6.0ms
(*.f64 (+.f64 -1 (*.f64 x x)) 3)
3.0ms
(exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))
2.0ms
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
Compiler

Compiled 734 to 506 computations (31.1% saved)

series213.0ms (5%)

Error
0.0b
Counts
3 → 18
Calls

3 calls:

122.0ms
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
48.0ms
(*.f64 (+.f64 -1 (*.f64 x x)) 3)
28.0ms
(exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))
Compiler

Compiled 513 to 490 computations (4.5% saved)

simplify65.0ms (1.5%)

Algorithm
egg-herbie
Rules
562×associate-*l*_binary64_360
513×distribute-rgt-out_binary64_372
501×associate-*r*_binary64_359
276×distribute-lft-out_binary64_370
176×distribute-rgt-in_binary64_369
166×distribute-lft-in_binary64_368
158×*-commutative_binary64_350
109×exp-prod_binary64_471
102×unswap-sqr_binary64_387
85×log-prod_binary64_505 sqr-pow_binary64_391
81×cube-prod_binary64_447
70×exp-sum_binary64_465
65×associate-+l+_binary64_352
64×distribute-neg-in_binary64_380
61×cancel-sign-sub-inv_binary64_385
59×swap-sqr_binary64_386
53×distribute-rgt-neg-in_binary64_377
52×distribute-rgt-neg-out_binary64_379 distribute-lft-neg-out_binary64_378 +-commutative_binary64_349
51×prod-exp_binary64_468
50×associate-+r+_binary64_351
47×distribute-lft-neg-in_binary64_376
39×unsub-neg_binary64_413
31×distribute-rgt1-in_binary64_375
26×sub-neg_binary64_412
24×pow-sqr_binary64_392 distribute-lft1-in_binary64_374
19×neg-sub0_binary64_414
17×pow-plus_binary64_482
16×log-pow_binary64_508
15×unpow3_binary64_485 cube-unmult_binary64_456 mul-1-neg_binary64_411 *-rgt-identity_binary64_409 *-lft-identity_binary64_408
10×log-div_binary64_506 cube-mult_binary64_449
exp-diff_binary64_467 cube-div_binary64_448 neg-mul-1_binary64_415 difference-of-sqr-1_binary64_389
rem-sqrt-square_binary64_432
difference-of-squares_binary64_388 associate-*l/_binary64_362 associate-*r/_binary64_361
rem-log-exp_binary64_460 distribute-rgt-out--_binary64_373 associate-+l-_binary64_354
div-sub_binary64_424 distribute-neg-out_binary64_381 distribute-lft-out--_binary64_371 associate-+r-_binary64_353
exp-to-pow_binary64_481 exp-lft-cube_binary64_475 difference-of-sqr--1_binary64_390
unpow1/3_binary64_486 unpow1/2_binary64_483 sub0-neg_binary64_406 count-2_binary64_367 associate-/l*_binary64_364
log-E_binary64_509 unpow2_binary64_484 unpow1_binary64_477 exp-neg_binary64_466 1-exp_binary64_463 exp-1-e_binary64_462 cube-neg_binary64_446 rem-3cbrt-lft_binary64_444 rem-cbrt-cube_binary64_443 sqr-neg_binary64_433 +-rgt-identity_binary64_404 distribute-frac-neg_binary64_382
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-rec_binary64_507 pow-base-0_binary64_503 pow-base-1_binary64_479 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-sqr_binary64_474 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-exp-log_binary64_459 rem-3cbrt-rft_binary64_445 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 rem-square-sqrt_binary64_431 times-frac_binary64_425 /-rgt-identity_binary64_410 remove-double-neg_binary64_407 --rgt-identity_binary64_405 +-lft-identity_binary64_403 mul0-rgt_binary64_402 mul0-lft_binary64_401 div0_binary64_400 *-inverses_binary64_399 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 cancel-sign-sub_binary64_384 distribute-neg-frac_binary64_383 associate-/l/_binary64_366 associate-/r/_binary64_365 associate-/r*_binary64_363 associate--r-_binary64_358 associate--l-_binary64_357 associate--l+_binary64_356 associate--r+_binary64_355
Counts
65 → 125
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0102978
1226782
2725746
32736744
45055744

prune121.0ms (2.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1241125
Fresh000
Picked101
Done011
Total1252127
Error
0.0b
Counts
127 → 2
Compiler

Compiled 2215 to 1561 computations (29.5% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

1.0b
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))) (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))) (exp.f64 (-.f64 (*.f64 x x) 1)))
1.6b
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
1.6b
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
1.6b
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))) (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))) (exp.f64 (-.f64 (*.f64 x x) 1))))

rewrite151.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
10×add-log-exp_binary64_458
pow1_binary64_480 add-sqr-sqrt_binary64_441
add-cube-cbrt_binary64_454 *-un-lft-identity_binary64_419 rem-cbrt-cube_binary64_443
add-exp-log_binary64_457 add-cbrt-cube_binary64_455 cbrt-prod_binary64_450 associate-*r*_binary64_359
exp-to-pow_binary64_481 exp-sum_binary64_465
pow1/3_binary64_501 pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452 cancel-sign-sub-inv_binary64_385
exp-diff_binary64_467 associate-*r/_binary64_361 sum-log_binary64_510 exp-lft-cube_binary64_475 exp-prod_binary64_471
cbrt-div_binary64_451 unswap-sqr_binary64_387 associate-*l*_binary64_360 sub-neg_binary64_412 *-commutative_binary64_350
Counts
4 → 64
Calls

4 calls:

17.0ms
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))) (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))) (exp.f64 (-.f64 (*.f64 x x) 1)))
15.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))) (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))) (exp.f64 (-.f64 (*.f64 x x) 1))))
2.0ms
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
2.0ms
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
Compiler

Compiled 2351 to 1596 computations (32.1% saved)

series856.0ms (20%)

Error
0.0b
Counts
4 → 24
Calls

4 calls:

332.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))) (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))) (exp.f64 (-.f64 (*.f64 x x) 1))))
226.0ms
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3))) (cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))) (exp.f64 (-.f64 (*.f64 x x) 1)))
132.0ms
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
123.0ms
(cbrt.f64 (exp.f64 (*.f64 (+.f64 -1 (*.f64 x x)) 3)))
Compiler

Compiled 1738 to 1536 computations (11.6% saved)

simplify116.0ms (2.7%)

Algorithm
egg-herbie
Rules
570×distribute-lft-out_binary64_370
355×*-commutative_binary64_350
307×log-prod_binary64_505
286×unswap-sqr_binary64_387
222×distribute-rgt-out_binary64_372
155×associate-*l*_binary64_360
154×prod-exp_binary64_468
149×exp-sum_binary64_465
143×associate-*r*_binary64_359
133×sqr-pow_binary64_391
117×associate-+l+_binary64_352
105×exp-prod_binary64_471
87×associate-+r+_binary64_351
76×cube-prod_binary64_447
72×log-div_binary64_506
70×log-pow_binary64_508
64×times-frac_binary64_425 +-commutative_binary64_349
63×associate-*l/_binary64_362
62×distribute-neg-in_binary64_380
55×associate-*r/_binary64_361
41×swap-sqr_binary64_386
39×sub-neg_binary64_412
35×cancel-sign-sub-inv_binary64_385
34×pow-sqr_binary64_392
33×exp-diff_binary64_467
32×distribute-rgt-in_binary64_369 distribute-lft-in_binary64_368
24×cube-div_binary64_448
23×distribute-rgt1-in_binary64_375
22×associate-/l*_binary64_364
21×pow-plus_binary64_482
17×distribute-lft1-in_binary64_374
16×unpow3_binary64_485
15×distribute-rgt-neg-in_binary64_377 associate-+r-_binary64_353
14×cube-unmult_binary64_456
13×associate-+l-_binary64_354
11×rem-sqrt-square_binary64_432 *-rgt-identity_binary64_409
10×cube-mult_binary64_449 distribute-lft-neg-in_binary64_376 associate--r+_binary64_355
div-sub_binary64_424 *-lft-identity_binary64_408
div-exp_binary64_470
unpow1/3_binary64_486 rem-log-exp_binary64_460 neg-mul-1_binary64_415 neg-sub0_binary64_414 count-2_binary64_367
distribute-lft-neg-out_binary64_378
unpow1/2_binary64_483
unpow2_binary64_484 exp-to-pow_binary64_481 unpow1_binary64_477 associate--r-_binary64_358
exp-lft-cube_binary64_475 rem-exp-log_binary64_459 rem-3cbrt-lft_binary64_444 rem-cbrt-cube_binary64_443 difference-of-sqr-1_binary64_389
log-E_binary64_509 log-rec_binary64_507 1-exp_binary64_463 exp-1-e_binary64_462 mul-1-neg_binary64_411 /-rgt-identity_binary64_410 difference-of-sqr--1_binary64_390 associate-/l/_binary64_366 associate--l+_binary64_356
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 pow-base-0_binary64_503 pow-base-1_binary64_479 unpow0_binary64_478 unpow-1_binary64_476 exp-lft-sqr_binary64_474 exp-cbrt_binary64_473 exp-sqrt_binary64_472 rec-exp_binary64_469 exp-neg_binary64_466 e-exp-1_binary64_464 exp-0_binary64_461 cube-neg_binary64_446 rem-3cbrt-rft_binary64_445 rem-cube-cbrt_binary64_442 sqr-abs_binary64_434 sqr-neg_binary64_433 rem-square-sqrt_binary64_431 unsub-neg_binary64_413 remove-double-neg_binary64_407 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_399 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 remove-double-div_binary64_395 difference-of-squares_binary64_388 cancel-sign-sub_binary64_384 distribute-neg-frac_binary64_383 distribute-frac-neg_binary64_382 distribute-neg-out_binary64_381 distribute-rgt-neg-out_binary64_379 distribute-rgt-out--_binary64_373 distribute-lft-out--_binary64_371 associate-/r/_binary64_365 associate-/r*_binary64_363 associate--l-_binary64_357
Counts
88 → 262
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01323343
13251473
29361290
325391256
448911256
551221256

prune618.0ms (14.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2611262
Fresh000
Picked011
Done011
Total2613264
Error
0b
Counts
264 → 3
Compiler

Compiled 9175 to 6343 computations (30.9% saved)

regimes252.0ms (5.9%)

Accuracy

Total 0.0b remaining (54.4%)

Threshold costs 0.0b (54.4%)

Compiler

Compiled 3240 to 2512 computations (22.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_350
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 1-exp_binary64_463 exp-1-e_binary64_462 exp-0_binary64_461 sqr-abs_binary64_434 sqr-neg_binary64_433 neg-mul-1_binary64_415 neg-sub0_binary64_414 unsub-neg_binary64_413 sub-neg_binary64_412 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 +-commutative_binary64_349
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1811
2811

end0.0ms (0%)

sample1.0s (24.5%)

Algorithm
intervals
Results
245.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 638 to 493 computations (22.7% saved)

Profiling

Loading profile data...