Details

Time bar (total: 2.7s)

analyze268.0ms (10.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 30 to 24 computations (20% saved)

sample37.0ms (1.4%)

Algorithm
intervals
Results
12.0ms249×body128valid
8.0ms279×pre128true
1.0ms23×body128nan
1.0msbody256valid
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify1.3s (47.4%)

Algorithm
egg-herbie
Rules
1257×associate-/l*_binary64_364
613×associate-/r*_binary64_363
576×distribute-rgt-in_binary64_369
523×div-sub_binary64_424
457×cancel-sign-sub-inv_binary64_385
435×unsub-neg_binary64_413
432×distribute-lft-in_binary64_368
328×neg-mul-1_binary64_415
279×distribute-rgt-neg-in_binary64_377
248×sub-neg_binary64_412
238×times-frac_binary64_425
234×distribute-rgt-neg-out_binary64_379
215×distribute-frac-neg_binary64_382
211×distribute-lft-neg-in_binary64_376
196×neg-sub0_binary64_414
192×remove-double-neg_binary64_407
189×distribute-lft-neg-out_binary64_378
182×associate-*l/_binary64_362
178×associate-/l/_binary64_366
177×sqr-pow_binary64_391
160×unswap-sqr_binary64_387
146×distribute-neg-frac_binary64_383
142×associate-/r/_binary64_365
115×pow-base-1_binary64_479
114×*-commutative_binary64_350
97×remove-double-div_binary64_395
91×associate-*r/_binary64_361
87×+-commutative_binary64_349
86×cube-prod_binary64_447
79×mul0-rgt_binary64_402
70×associate-+l+_binary64_352
68×mul0-lft_binary64_401 associate-*r*_binary64_359
67×pow-sqr_binary64_392
47×distribute-neg-in_binary64_380
46×cancel-sign-sub_binary64_384
45×+-lft-identity_binary64_403
43×div0_binary64_400
41×associate-*l*_binary64_360
36×pow-plus_binary64_482
34×associate--l-_binary64_357 associate--r+_binary64_355
33×unpow3_binary64_485
27×cube-mult_binary64_449
22×/-rgt-identity_binary64_410 sub0-neg_binary64_406
21×associate-+l-_binary64_354
17×*-rgt-identity_binary64_409
16×distribute-rgt1-in_binary64_375 associate--r-_binary64_358
15×+-rgt-identity_binary64_404 associate-+r+_binary64_351
14×associate-+r-_binary64_353
13×--rgt-identity_binary64_405
10×cube-unmult_binary64_456
distribute-lft1-in_binary64_374
mul-1-neg_binary64_411 distribute-lft-out_binary64_370
count-2_binary64_367
distribute-rgt-out_binary64_372 associate--l+_binary64_356
cube-neg_binary64_446 *-inverses_binary64_399 distribute-neg-out_binary64_381
1-exp_binary64_463 sqr-neg_binary64_433 *-lft-identity_binary64_408 swap-sqr_binary64_386 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-pow_binary64_508 log-rec_binary64_507 log-div_binary64_506 log-prod_binary64_505 pow-base-0_binary64_503 unpow1/3_binary64_486 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-lft-sqr_binary64_474 exp-cbrt_binary64_473 exp-sqrt_binary64_472 exp-prod_binary64_471 div-exp_binary64_470 rec-exp_binary64_469 prod-exp_binary64_468 exp-diff_binary64_467 exp-neg_binary64_466 exp-sum_binary64_465 e-exp-1_binary64_464 exp-1-e_binary64_462 exp-0_binary64_461 rem-log-exp_binary64_460 rem-exp-log_binary64_459 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 +-inverses_binary64_398 lft-mult-inverse_binary64_397 rgt-mult-inverse_binary64_396 difference-of-sqr--1_binary64_390 difference-of-sqr-1_binary64_389 difference-of-squares_binary64_388 distribute-rgt-out--_binary64_373
Counts
1 → 3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13224
26424
313024
418124
531524
647224
781324
8128724
9151724
10153624
11235724
12257824
13221224
14234524
15472024

prune6.0ms (0.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Error
28.0b
Counts
4 → 1
Compiler

Compiled 65 to 42 computations (35.4% saved)

localize11.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
0.2b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.2b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) (*.f64 a 2))
27.9b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)

rewrite143.0ms (5.4%)

Algorithm
rewrite-expression-head
Error
26.0b
Rules
21×add-sqr-sqrt_binary64_441
14×*-un-lft-identity_binary64_419
add-exp-log_binary64_457 add-cbrt-cube_binary64_455
add-log-exp_binary64_458 add-cube-cbrt_binary64_454
difference-of-squares_binary64_388 sqrt-prod_binary64_435 times-frac_binary64_425 associate-/l*_binary64_364
pow1_binary64_480
flip3--_binary64_423 flip--_binary64_394 cancel-sign-sub-inv_binary64_385
distribute-lft-out--_binary64_371
diff-log_binary64_511 sub-neg_binary64_412 div-exp_binary64_470 cbrt-undiv_binary64_453 associate-/l/_binary64_366 sqrt-div_binary64_436
prod-exp_binary64_468 cbrt-unprod_binary64_452 frac-2neg_binary64_430 div-sub_binary64_424 clear-num_binary64_418 div-inv_binary64_416 associate-/r*_binary64_363 pow1/2_binary64_499 sqrt-pow1_binary64_437 rem-sqrt-square_binary64_432
Counts
4 → 74
Calls

4 calls:

13.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) (*.f64 a 2))
9.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
5.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
5.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 2100 to 1088 computations (48.2% saved)

series721.0ms (27.2%)

Error
1.0b
Counts
4 → 72
Calls

4 calls:

208.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) (*.f64 a 2))
166.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
160.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
109.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 3306 to 2519 computations (23.8% saved)

simplify208.0ms (7.8%)

Algorithm
egg-herbie
Rules
737×associate-/l*_binary64_364
231×distribute-rgt-in_binary64_369
194×distribute-lft-in_binary64_368
183×distribute-rgt-neg-in_binary64_377
162×cancel-sign-sub-inv_binary64_385
161×distribute-lft-neg-in_binary64_376
148×associate-/r/_binary64_365
133×associate-/l/_binary64_366
125×associate-*r*_binary64_359
123×associate-*l*_binary64_360
114×unswap-sqr_binary64_387
102×*-commutative_binary64_350
101×sub-neg_binary64_412
78×times-frac_binary64_425
76×neg-sub0_binary64_414 sqr-pow_binary64_391
73×neg-mul-1_binary64_415
66×distribute-neg-frac_binary64_383
64×associate-/r*_binary64_363
63×distribute-neg-in_binary64_380
55×div-sub_binary64_424
45×+-commutative_binary64_349
42×exp-prod_binary64_471
36×pow-sqr_binary64_392
35×distribute-rgt-out_binary64_372
34×distribute-lft-neg-out_binary64_378
30×associate-*l/_binary64_362
29×associate-*r/_binary64_361
27×unsub-neg_binary64_413
22×associate-+r+_binary64_351
20×associate--r+_binary64_355 associate-+l+_binary64_352
17×pow-plus_binary64_482 cube-prod_binary64_447
15×swap-sqr_binary64_386
14×distribute-lft-out_binary64_370
13×distribute-rgt-neg-out_binary64_379
11×difference-of-squares_binary64_388
10×unpow3_binary64_485 cube-mult_binary64_449
associate-+r-_binary64_353
exp-sum_binary64_465 cube-unmult_binary64_456
exp-diff_binary64_467 +-rgt-identity_binary64_404
mul-1-neg_binary64_411
log-div_binary64_506
unpow2_binary64_484 unpow1_binary64_477 exp-sqrt_binary64_472 rem-sqrt-square_binary64_432 associate-+l-_binary64_354
log-prod_binary64_505 div-exp_binary64_470 cube-div_binary64_448 rem-square-sqrt_binary64_431 *-rgt-identity_binary64_409 *-inverses_binary64_399 distribute-neg-out_binary64_381 distribute-rgt-out--_binary64_373 distribute-lft-out--_binary64_371
1-exp_binary64_463 rem-3cbrt-lft_binary64_444 *-lft-identity_binary64_408 remove-double-neg_binary64_407 div0_binary64_400 count-2_binary64_367 associate--r-_binary64_358 associate--l-_binary64_357 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 log-E_binary64_509 log-pow_binary64_508 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-lft-sqr_binary64_474 exp-cbrt_binary64_473 rec-exp_binary64_469 prod-exp_binary64_468 exp-neg_binary64_466 e-exp-1_binary64_464 exp-1-e_binary64_462 exp-0_binary64_461 rem-log-exp_binary64_460 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 sqr-neg_binary64_433 /-rgt-identity_binary64_410 sub0-neg_binary64_406 --rgt-identity_binary64_405 +-lft-identity_binary64_403 mul0-rgt_binary64_402 mul0-lft_binary64_401 +-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 cancel-sign-sub_binary64_384 distribute-frac-neg_binary64_382 distribute-rgt1-in_binary64_375 distribute-lft1-in_binary64_374
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02033620
15553354
219653348

end0.0ms (0%)

Profiling

Loading profile data...