Details

Time bar (total: 1.4min)

analyze325.0ms (0.4%)

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)

sample43.0ms (0.1%)

Algorithm
intervals
Results
17.0ms245×body128valid
9.0ms295×pre128true
2.0ms39×body128nan
1.0ms11×body256valid
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify6.1s (7.3%)

Algorithm
egg-herbie
Rules
890×exp-prod_binary64_2517
281×*-commutative_binary64_2396
229×sub-neg_binary64_2458
224×neg-mul-1_binary64_2461
216×distribute-rgt-in_binary64_2415
201×neg-sub0_binary64_2460
175×distribute-rgt-neg-in_binary64_2423
151×distribute-lft-neg-in_binary64_2422
140×distribute-rgt1-in_binary64_2421
137×exp-sum_binary64_2511
128×associate-/l/_binary64_2412
123×associate-*r*_binary64_2405
117×unsub-neg_binary64_2459 associate-/l*_binary64_2410
116×div-sub_binary64_2470
102×pow-plus_binary64_2528
95×cancel-sign-sub-inv_binary64_2431
87×distribute-neg-frac_binary64_2429
73×distribute-lft-in_binary64_2414
72×times-frac_binary64_2471
69×distribute-rgt-out_binary64_2418
61×+-commutative_binary64_2395
50×distribute-rgt-out--_binary64_2419
41×associate-*l*_binary64_2406
40×exp-diff_binary64_2513 associate-/r/_binary64_2411
39×associate--r+_binary64_2401 associate-+l+_binary64_2398
33×associate-+l-_binary64_2400
32×associate-/r*_binary64_2409
30×associate-+r+_binary64_2397
29×sub0-neg_binary64_2452
25×remove-double-neg_binary64_2453 associate--l+_binary64_2402
23×distribute-lft-neg-out_binary64_2424
22×div0_binary64_2446
19×mul0-lft_binary64_2447
18×exp-lft-sqr_binary64_2520
15×*-rgt-identity_binary64_2455 *-lft-identity_binary64_2454 mul0-rgt_binary64_2448 swap-sqr_binary64_2432
13×distribute-neg-in_binary64_2426 distribute-rgt-neg-out_binary64_2425 associate--l-_binary64_2403 associate-+r-_binary64_2399
11×+-lft-identity_binary64_2449 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 associate-*r/_binary64_2407
10×exp-lft-cube_binary64_2521 exp-cbrt_binary64_2519 --rgt-identity_binary64_2451
count-2_binary64_2413 associate-*l/_binary64_2408
cube-unmult_binary64_2502 +-inverses_binary64_2444 associate--r-_binary64_2404
cube-prod_binary64_2493 +-rgt-identity_binary64_2450 distribute-lft1-in_binary64_2420
exp-neg_binary64_2512 distribute-lft-out--_binary64_2417 distribute-lft-out_binary64_2416
unswap-sqr_binary64_2433
sqr-neg_binary64_2479
1-exp_binary64_2509 cube-neg_binary64_2492 *-inverses_binary64_2445
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_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-pow_binary64_2554 log-rec_binary64_2553 log-div_binary64_2552 log-prod_binary64_2551 pow-base-0_binary64_2549 unpow1/3_binary64_2532 unpow3_binary64_2531 unpow2_binary64_2530 unpow1/2_binary64_2529 exp-to-pow_binary64_2527 pow-base-1_binary64_2525 unpow0_binary64_2524 unpow1_binary64_2523 unpow-1_binary64_2522 exp-sqrt_binary64_2518 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 e-exp-1_binary64_2510 exp-1-e_binary64_2508 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-mult_binary64_2495 cube-div_binary64_2494 rem-3cbrt-rft_binary64_2491 rem-3cbrt-lft_binary64_2490 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 rem-sqrt-square_binary64_2478 rem-square-sqrt_binary64_2477 mul-1-neg_binary64_2457 /-rgt-identity_binary64_2456 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 pow-sqr_binary64_2438 sqr-pow_binary64_2437 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 difference-of-squares_binary64_2434 cancel-sign-sub_binary64_2430
Counts
1 → 4
Iterations

Useful iterations: 7 (1.0ms)

IterNodesCost
01326
12924
26124
312724
418124
535124
6133724
728761
8181

prune5.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New224
Fresh101
Picked000
Done000
Total325
Error
27.5b
Counts
5 → 2
Compiler

Compiled 67 to 49 computations (26.9% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (*.f64 3 a) c)
0.3b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.3b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
28.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)

rewrite92.0ms (0.1%)

Algorithm
rewrite-expression-head
Error
26.1b
Rules
20×add-sqr-sqrt_binary64_2487
14×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501 *-un-lft-identity_binary64_2465
pow1_binary64_2526
add-log-exp_binary64_2504 add-cube-cbrt_binary64_2500
difference-of-squares_binary64_2434 times-frac_binary64_2471 associate-/l*_binary64_2410
cancel-sign-sub-inv_binary64_2431 prod-exp_binary64_2514 cbrt-unprod_binary64_2498
flip3--_binary64_2469 flip--_binary64_2440 sqrt-prod_binary64_2481 distribute-lft-out--_binary64_2417 pow-prod-down_binary64_2536 associate-*r*_binary64_2405
diff-log_binary64_2557 sub-neg_binary64_2458 div-exp_binary64_2516 cbrt-undiv_binary64_2499 associate-/l/_binary64_2412
frac-2neg_binary64_2476 div-sub_binary64_2470 clear-num_binary64_2464 div-inv_binary64_2462 associate-/r*_binary64_2409 associate-*l*_binary64_2406 *-commutative_binary64_2396
Counts
4 → 77
Calls

4 calls:

9.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
8.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)
5.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(*.f64 (*.f64 3 a) c)
Compiler

Compiled 2072 to 1208 computations (41.7% saved)

series291.0ms (0.3%)

Error
1.1b
Counts
4 → 60
Calls

4 calls:

93.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
69.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)
64.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
22.0ms
(*.f64 (*.f64 3 a) c)
Compiler

Compiled 2840 to 2199 computations (22.6% saved)

simplify342.0ms (0.4%)

Algorithm
egg-herbie
Rules
712×associate-/l*_binary64_2410
287×distribute-rgt-in_binary64_2415
250×distribute-lft-in_binary64_2414
235×distribute-rgt-neg-in_binary64_2423
213×distribute-lft-neg-in_binary64_2422
197×associate-*l*_binary64_2406
196×associate-*r*_binary64_2405
186×cancel-sign-sub-inv_binary64_2431
185×associate-/l/_binary64_2412
177×associate-/r/_binary64_2411
101×*-commutative_binary64_2396
96×unswap-sqr_binary64_2433
91×times-frac_binary64_2471
86×associate-/r*_binary64_2409
83×neg-sub0_binary64_2460
81×neg-mul-1_binary64_2461
80×sub-neg_binary64_2458
77×sqr-pow_binary64_2437
76×distribute-neg-frac_binary64_2429
70×distribute-neg-in_binary64_2426
62×distribute-lft-neg-out_binary64_2424
60×exp-prod_binary64_2517 div-sub_binary64_2470
43×distribute-rgt-neg-out_binary64_2425
40×+-commutative_binary64_2395
35×pow-sqr_binary64_2438
33×distribute-rgt-out_binary64_2418 associate-*l/_binary64_2408
30×cube-prod_binary64_2493 associate-*r/_binary64_2407
26×associate-+r+_binary64_2397
25×associate-+l+_binary64_2398
23×log-prod_binary64_2551 unsub-neg_binary64_2459
19×distribute-lft-out_binary64_2416
17×pow-plus_binary64_2528 swap-sqr_binary64_2432
16×*-rgt-identity_binary64_2455
14×*-lft-identity_binary64_2454
13×unpow3_binary64_2531 associate--r+_binary64_2401
11×cube-mult_binary64_2495
difference-of-squares_binary64_2434
/-rgt-identity_binary64_2456
log-div_binary64_2552 exp-sum_binary64_2511 associate-+r-_binary64_2399
cube-unmult_binary64_2502 +-rgt-identity_binary64_2450
exp-diff_binary64_2513
exp-lft-cube_binary64_2521 cube-div_binary64_2494
unpow2_binary64_2530 unpow1_binary64_2523 exp-cbrt_binary64_2519 div-exp_binary64_2516 mul-1-neg_binary64_2457 associate-+l-_binary64_2400
rem-sqrt-square_binary64_2478 rem-square-sqrt_binary64_2477 *-inverses_binary64_2445 distribute-neg-out_binary64_2427 distribute-lft-out--_binary64_2417
pow-base-1_binary64_2525 exp-sqrt_binary64_2518 rec-exp_binary64_2515 prod-exp_binary64_2514 1-exp_binary64_2509 exp-1-e_binary64_2508 rem-log-exp_binary64_2506 rem-3cbrt-lft_binary64_2490 remove-double-neg_binary64_2453 distribute-frac-neg_binary64_2428 count-2_binary64_2413 associate--r-_binary64_2404 associate--l-_binary64_2403 associate--l+_binary64_2402
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_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-pow_binary64_2554 log-rec_binary64_2553 pow-base-0_binary64_2549 unpow1/3_binary64_2532 unpow1/2_binary64_2529 exp-to-pow_binary64_2527 unpow0_binary64_2524 unpow-1_binary64_2522 exp-lft-sqr_binary64_2520 exp-neg_binary64_2512 e-exp-1_binary64_2510 exp-0_binary64_2507 rem-exp-log_binary64_2505 cube-neg_binary64_2492 rem-3cbrt-rft_binary64_2491 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 sqr-neg_binary64_2479 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 div0_binary64_2446 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 cancel-sign-sub_binary64_2430 distribute-rgt1-in_binary64_2421 distribute-lft1-in_binary64_2420 distribute-rgt-out--_binary64_2419
Counts
137 → 394
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02203228
15903017
223082992

prune321.0ms (0.4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New37717394
Fresh101
Picked101
Done000
Total37917396
Error
0.6b
Counts
396 → 17
Compiler

Compiled 11756 to 6705 computations (43% saved)

localize31.0ms (0%)

Local error

Found 4 expressions with local error:

0.3b
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
0.3b
(/.f64 (*.f64 3/8 (*.f64 a (*.f64 c c))) (pow.f64 b 3))
0.4b
(/.f64 (pow.f64 b 7) (pow.f64 a 3))
0.4b
(/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3)))

rewrite3.7s (4.4%)

Algorithm
rewrite-expression-head
Error
0.6b
Rules
1391×times-frac_binary64_2471
798×unpow-prod-down_binary64_2544
610×add-cube-cbrt_binary64_2500 add-sqr-sqrt_binary64_2487 *-un-lft-identity_binary64_2465
266×sqr-pow_binary64_2437
198×cube-prod_binary64_2493
169×add-exp-log_binary64_2503
119×associate-/r*_binary64_2409
99×div-exp_binary64_2516
66×unpow3_binary64_2531 cube-mult_binary64_2495
51×pow-to-exp_binary64_2534 pow-exp_binary64_2533
45×prod-exp_binary64_2514
34×add-cbrt-cube_binary64_2501
16×associate-/l*_binary64_2410
12×div-inv_binary64_2462
11×cbrt-undiv_binary64_2499
cbrt-unprod_binary64_2498
pow1_binary64_2526 add-log-exp_binary64_2504 frac-2neg_binary64_2476 clear-num_binary64_2464
associate-/r/_binary64_2411
Counts
4 → 977
Calls

4 calls:

24.0ms
(/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3)))
9.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
9.0ms
(/.f64 (*.f64 3/8 (*.f64 a (*.f64 c c))) (pow.f64 b 3))
6.0ms
(/.f64 (pow.f64 b 7) (pow.f64 a 3))
Compiler

Compiled 59790 to 38393 computations (35.8% saved)

series460.0ms (0.5%)

Error
0.6b
Counts
4 → 33
Calls

4 calls:

140.0ms
(/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3)))
113.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
95.0ms
(/.f64 (*.f64 3/8 (*.f64 a (*.f64 c c))) (pow.f64 b 3))
67.0ms
(/.f64 (pow.f64 b 7) (pow.f64 a 3))
Compiler

Compiled 4554 to 3421 computations (24.9% saved)

simplify2.8s (3.4%)

Algorithm
egg-herbie
Rules
746×associate-/r/_binary64_2411
636×associate-/l/_binary64_2412
532×associate-*r/_binary64_2407
528×associate-/r*_binary64_2409
516×associate-*l/_binary64_2408
115×unswap-sqr_binary64_2433
82×associate-/l*_binary64_2410
65×sqr-pow_binary64_2437
47×pow-sqr_binary64_2438
37×log-prod_binary64_2551
34×distribute-rgt-neg-in_binary64_2423
31×distribute-lft-neg-in_binary64_2422
29×sub-neg_binary64_2458
28×cancel-sign-sub-inv_binary64_2431
27×associate-*l*_binary64_2406
19×log-div_binary64_2552 /-rgt-identity_binary64_2456 associate-*r*_binary64_2405
18×neg-mul-1_binary64_2461 neg-sub0_binary64_2460 swap-sqr_binary64_2432
16×cube-unmult_binary64_2502
15×times-frac_binary64_2471 *-commutative_binary64_2396
11×distribute-neg-frac_binary64_2429
10×unpow3_binary64_2531 cube-mult_binary64_2495
log-pow_binary64_2554
pow-plus_binary64_2528 pow-base-1_binary64_2525 associate--r-_binary64_2404
rem-sqrt-square_binary64_2478
associate--l+_binary64_2402
cube-prod_binary64_2493 remove-double-div_binary64_2441
exp-prod_binary64_2517 distribute-lft-neg-out_binary64_2424 +-commutative_binary64_2395
log-rec_binary64_2553 unpow2_binary64_2530 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 rem-square-sqrt_binary64_2477 distribute-neg-in_binary64_2426 count-2_binary64_2413 associate-+l+_binary64_2398 associate-+r+_binary64_2397
div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 1-exp_binary64_2509 cube-div_binary64_2494 div-sub_binary64_2470 *-inverses_binary64_2445
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_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 pow-base-0_binary64_2549 unpow1/3_binary64_2532 unpow1/2_binary64_2529 exp-to-pow_binary64_2527 unpow0_binary64_2524 unpow1_binary64_2523 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 exp-sqrt_binary64_2518 exp-diff_binary64_2513 exp-neg_binary64_2512 exp-sum_binary64_2511 e-exp-1_binary64_2510 exp-1-e_binary64_2508 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-neg_binary64_2492 rem-3cbrt-rft_binary64_2491 rem-3cbrt-lft_binary64_2490 sqr-abs_binary64_2480 sqr-neg_binary64_2479 unsub-neg_binary64_2459 mul-1-neg_binary64_2457 *-rgt-identity_binary64_2455 *-lft-identity_binary64_2454 remove-double-neg_binary64_2453 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 div0_binary64_2446 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 difference-of-squares_binary64_2434 cancel-sign-sub_binary64_2430 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 distribute-rgt-neg-out_binary64_2425 distribute-rgt1-in_binary64_2421 distribute-lft1-in_binary64_2420 distribute-rgt-out--_binary64_2419 distribute-rgt-out_binary64_2418 distribute-lft-out--_binary64_2417 distribute-lft-out_binary64_2416 distribute-rgt-in_binary64_2415 distribute-lft-in_binary64_2414 associate--l-_binary64_2403 associate--r+_binary64_2401 associate-+l-_binary64_2400 associate-+r-_binary64_2399
Counts
1010 → 3498
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0117430770
1168530146

prune37.4s (44.7%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New349713498
Fresh01616
Picked011
Done000
Total3497183515
Error
0.6b
Counts
3515 → 18
Compiler

Compiled 213250 to 133633 computations (37.3% saved)

localize37.0ms (0%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (/.f64 (pow.f64 a 4) (pow.f64 b 7)) (pow.f64 c 4))
0.4b
(*.f64 (*.f64 9/8 (*.f64 c c)) (neg.f64 (*.f64 a a)))
0.4b
(/.f64 (*.f64 3/2 a) (/.f64 b c))
0.7b
(pow.f64 (*.f64 c a) 3)

rewrite596.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.6b
Rules
110×add-sqr-sqrt_binary64_2487
107×times-frac_binary64_2471
87×add-exp-log_binary64_2503
74×unpow-prod-down_binary64_2544
54×associate-*l*_binary64_2406
51×add-cube-cbrt_binary64_2500 *-un-lft-identity_binary64_2465
44×sqr-pow_binary64_2437
39×prod-exp_binary64_2514
33×add-cbrt-cube_binary64_2501 div-exp_binary64_2516
30×pow-exp_binary64_2533 unswap-sqr_binary64_2433
29×pow-to-exp_binary64_2534
16×pow1_binary64_2526
13×associate-/r*_binary64_2409 associate-*r*_binary64_2405
11×cbrt-unprod_binary64_2498
pow-prod-down_binary64_2536 cbrt-undiv_binary64_2499
add-log-exp_binary64_2504 div-inv_binary64_2462
pow-unpow_binary64_2542
pow-pow_binary64_2537 rem-cube-cbrt_binary64_2488 *-commutative_binary64_2396
unpow3_binary64_2531 cube-mult_binary64_2495 cube-prod_binary64_2493 frac-2neg_binary64_2476 clear-num_binary64_2464 associate-/r/_binary64_2411 associate-/l*_binary64_2410 distribute-rgt-neg-out_binary64_2425 neg-mul-1_binary64_2461 distribute-rgt-neg-in_binary64_2423 distribute-lft-neg-in_binary64_2422 associate-*l/_binary64_2408
Counts
4 → 224
Calls

4 calls:

16.0ms
(*.f64 (/.f64 (pow.f64 a 4) (pow.f64 b 7)) (pow.f64 c 4))
7.0ms
(*.f64 (*.f64 9/8 (*.f64 c c)) (neg.f64 (*.f64 a a)))
5.0ms
(/.f64 (*.f64 3/2 a) (/.f64 b c))
3.0ms
(pow.f64 (*.f64 c a) 3)
Compiler

Compiled 13829 to 8605 computations (37.8% saved)

series342.0ms (0.4%)

Error
0.6b
Counts
4 → 30
Calls

4 calls:

137.0ms
(*.f64 (/.f64 (pow.f64 a 4) (pow.f64 b 7)) (pow.f64 c 4))
66.0ms
(/.f64 (*.f64 3/2 a) (/.f64 b c))
49.0ms
(*.f64 (*.f64 9/8 (*.f64 c c)) (neg.f64 (*.f64 a a)))
45.0ms
(pow.f64 (*.f64 c a) 3)
Compiler

Compiled 4698 to 3420 computations (27.2% saved)

simplify440.0ms (0.5%)

Algorithm
egg-herbie
Rules
441×associate-*l*_binary64_2406
385×associate-*r*_binary64_2405
257×associate-/l*_binary64_2410
198×*-commutative_binary64_2396
197×log-prod_binary64_2551
173×associate-*l/_binary64_2408
165×times-frac_binary64_2471
146×exp-prod_binary64_2517
139×distribute-rgt-neg-out_binary64_2425
129×sqr-pow_binary64_2437
126×associate-/r*_binary64_2409
122×swap-sqr_binary64_2432
106×associate-*r/_binary64_2407
105×distribute-lft-neg-out_binary64_2424
103×cube-prod_binary64_2493
101×associate-/l/_binary64_2412
93×associate-/r/_binary64_2411
79×distribute-rgt-neg-in_binary64_2423
70×pow-sqr_binary64_2438
56×log-div_binary64_2552
52×unswap-sqr_binary64_2433
51×*-rgt-identity_binary64_2455
49×neg-sub0_binary64_2460
47×neg-mul-1_binary64_2461
38×/-rgt-identity_binary64_2456
34×log-pow_binary64_2554
33×*-lft-identity_binary64_2454 cancel-sign-sub-inv_binary64_2431
32×cube-div_binary64_2494 sub-neg_binary64_2458
30×cube-unmult_binary64_2502
27×pow-plus_binary64_2528
18×distribute-lft-neg-in_binary64_2422
12×distribute-neg-frac_binary64_2429 +-commutative_binary64_2395
11×div-exp_binary64_2516
10×rem-sqrt-square_binary64_2478
prod-exp_binary64_2514
distribute-neg-in_binary64_2426 associate-+l-_binary64_2400
associate-+l+_binary64_2398
div-sub_binary64_2470 associate-+r+_binary64_2397
unpow3_binary64_2531 sqr-neg_binary64_2479 associate--l+_binary64_2402
pow-base-1_binary64_2525 unpow1_binary64_2523 rec-exp_binary64_2515 cube-mult_binary64_2495 mul-1-neg_binary64_2457 remove-double-neg_binary64_2453
log-rec_binary64_2553 unpow2_binary64_2530 unsub-neg_binary64_2459 distribute-rgt-in_binary64_2415 distribute-lft-in_binary64_2414 associate--r-_binary64_2404 associate--r+_binary64_2401
exp-sqrt_binary64_2518 exp-diff_binary64_2513 exp-neg_binary64_2512 exp-sum_binary64_2511 1-exp_binary64_2509 exp-1-e_binary64_2508 rem-log-exp_binary64_2506 rem-cbrt-cube_binary64_2489 *-inverses_binary64_2445 rgt-mult-inverse_binary64_2442 distribute-frac-neg_binary64_2428 count-2_binary64_2413 associate-+r-_binary64_2399
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_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 pow-base-0_binary64_2549 unpow1/3_binary64_2532 unpow1/2_binary64_2529 exp-to-pow_binary64_2527 unpow0_binary64_2524 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 e-exp-1_binary64_2510 exp-0_binary64_2507 rem-exp-log_binary64_2505 cube-neg_binary64_2492 rem-3cbrt-rft_binary64_2491 rem-3cbrt-lft_binary64_2490 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 rem-square-sqrt_binary64_2477 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 div0_binary64_2446 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 remove-double-div_binary64_2441 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 difference-of-squares_binary64_2434 cancel-sign-sub_binary64_2430 distribute-neg-out_binary64_2427 distribute-rgt1-in_binary64_2421 distribute-lft1-in_binary64_2420 distribute-rgt-out--_binary64_2419 distribute-rgt-out_binary64_2418 distribute-lft-out--_binary64_2417 distribute-lft-out_binary64_2416 associate--l-_binary64_2403
Counts
254 → 701
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03815106
19054802
237464715

prune2.2s (2.6%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New6929701
Fresh11516
Picked101
Done011
Total69425719
Error
0.6b
Counts
719 → 25
Compiler

Compiled 45658 to 28710 computations (37.1% saved)

localize37.0ms (0%)

Local error

Found 4 expressions with local error:

0.4b
(/.f64 (pow.f64 b 7) (pow.f64 a 4))
0.4b
(/.f64 (neg.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (+.f64 (+.f64 (*.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))) (*.f64 405/128 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4))))) (*.f64 27/16 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))) (*.f64 3 a))
0.4b
(/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4)))
0.4b
(/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))

rewrite3.9s (4.7%)

Algorithm
rewrite-expression-head
Error
0.6b
Rules
836×times-frac_binary64_2471
552×unpow-prod-down_binary64_2544
396×*-un-lft-identity_binary64_2465
388×add-cube-cbrt_binary64_2500 add-sqr-sqrt_binary64_2487
184×sqr-pow_binary64_2437
129×add-exp-log_binary64_2503
83×div-exp_binary64_2516
73×associate-/r*_binary64_2409
39×pow-to-exp_binary64_2534 pow-exp_binary64_2533
34×add-cbrt-cube_binary64_2501
27×associate-/l*_binary64_2410
25×prod-exp_binary64_2514
12×div-inv_binary64_2462
11×cbrt-undiv_binary64_2499
cbrt-unprod_binary64_2498 frac-add_binary64_2473
distribute-rgt-neg-in_binary64_2423 distribute-lft-neg-in_binary64_2422
distribute-neg-frac_binary64_2429 associate-/l/_binary64_2412
cube-prod_binary64_2493
associate-*r/_binary64_2407
pow1_binary64_2526 add-log-exp_binary64_2504 frac-2neg_binary64_2476 clear-num_binary64_2464 distribute-lft-out_binary64_2416
flip3-+_binary64_2468 flip-+_binary64_2439
unpow3_binary64_2531 cube-mult_binary64_2495 neg-mul-1_binary64_2461
associate-/r/_binary64_2411 neg-sub0_binary64_2460 div-sub_binary64_2470 distribute-frac-neg_binary64_2428
Counts
4 → 660
Calls

4 calls:

29.0ms
(/.f64 (neg.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (+.f64 (+.f64 (*.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))) (*.f64 405/128 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4))))) (*.f64 27/16 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))) (*.f64 3 a))
17.0ms
(/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4)))
10.0ms
(/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))
5.0ms
(/.f64 (pow.f64 b 7) (pow.f64 a 4))
Compiler

Compiled 47624 to 31498 computations (33.9% saved)

series799.0ms (1%)

Error
0.6b
Counts
4 → 45
Calls

4 calls:

256.0ms
(/.f64 (neg.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (+.f64 (+.f64 (*.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))) (*.f64 405/128 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4))))) (*.f64 27/16 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))) (*.f64 3 a))
177.0ms
(/.f64 (pow.f64 b 7) (pow.f64 a 4))
156.0ms
(/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4)))
120.0ms
(/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))
Compiler

Compiled 4966 to 3817 computations (23.1% saved)

simplify1.8s (2.2%)

Algorithm
egg-herbie
Rules
699×associate-/r/_binary64_2411
620×associate-/l/_binary64_2412
617×times-frac_binary64_2471
95×unswap-sqr_binary64_2433
86×associate-/l*_binary64_2410
84×distribute-rgt-in_binary64_2415
68×distribute-lft-in_binary64_2414
56×sqr-pow_binary64_2437
52×neg-mul-1_binary64_2461
51×neg-sub0_binary64_2460 cancel-sign-sub-inv_binary64_2431
50×sub-neg_binary64_2458
45×distribute-rgt-neg-in_binary64_2423
42×*-commutative_binary64_2396
40×pow-sqr_binary64_2438 distribute-lft-neg-in_binary64_2422
34×associate-*l*_binary64_2406
29×associate-/r*_binary64_2409
28×associate-*r*_binary64_2405
26×distribute-neg-in_binary64_2426
24×distribute-frac-neg_binary64_2428
22×associate-*r/_binary64_2407
21×log-prod_binary64_2551
19×swap-sqr_binary64_2432
18×distribute-neg-frac_binary64_2429
17×/-rgt-identity_binary64_2456
15×distribute-lft-neg-out_binary64_2424
14×cube-unmult_binary64_2502
13×log-div_binary64_2552 div-sub_binary64_2470
12×distribute-rgt-neg-out_binary64_2425 +-commutative_binary64_2395
associate--r-_binary64_2404
unpow3_binary64_2531 pow-plus_binary64_2528 cube-mult_binary64_2495
pow-base-1_binary64_2525 associate-*l/_binary64_2408
log-pow_binary64_2554 rem-sqrt-square_binary64_2478 remove-double-div_binary64_2441 distribute-rgt-out--_binary64_2419 associate-+r+_binary64_2397
unsub-neg_binary64_2459
associate--l+_binary64_2402 associate-+r-_binary64_2399
unpow2_binary64_2530 cube-prod_binary64_2493 sqr-neg_binary64_2479 div0_binary64_2446 distribute-lft-out_binary64_2416 count-2_binary64_2413 associate--r+_binary64_2401 associate-+l+_binary64_2398
exp-prod_binary64_2517 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 exp-neg_binary64_2512 1-exp_binary64_2509 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 rem-square-sqrt_binary64_2477 *-rgt-identity_binary64_2455 remove-double-neg_binary64_2453 *-inverses_binary64_2445
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_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-rec_binary64_2553 pow-base-0_binary64_2549 unpow1/3_binary64_2532 unpow1/2_binary64_2529 exp-to-pow_binary64_2527 unpow0_binary64_2524 unpow1_binary64_2523 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 exp-sqrt_binary64_2518 exp-diff_binary64_2513 exp-sum_binary64_2511 e-exp-1_binary64_2510 exp-1-e_binary64_2508 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-div_binary64_2494 cube-neg_binary64_2492 rem-3cbrt-rft_binary64_2491 rem-3cbrt-lft_binary64_2490 sqr-abs_binary64_2480 mul-1-neg_binary64_2457 *-lft-identity_binary64_2454 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 difference-of-squares_binary64_2434 cancel-sign-sub_binary64_2430 distribute-neg-out_binary64_2427 distribute-rgt1-in_binary64_2421 distribute-lft1-in_binary64_2420 distribute-rgt-out_binary64_2418 distribute-lft-out--_binary64_2417 associate--l-_binary64_2403 associate-+l-_binary64_2400
Counts
705 → 1656
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0105526810
1201926064

prune12.1s (14.5%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New165061656
Fresh51823
Picked101
Done101
Total1657241681
Error
0.6b
Counts
1681 → 24
Compiler

Compiled 120348 to 79662 computations (33.8% saved)

regimes2.5s (3%)

Accuracy

Total 4.6b remaining (88.6%)

Threshold costs 0b (0%)

Compiler

Compiled 47033 to 34552 computations (26.5% saved)

bsearch18.0ms (0%)

Compiler

Compiled 17 to 14 computations (17.6% saved)

simplify27.0ms (0%)

Algorithm
egg-herbie
Rules
43×*-commutative_binary64_2396
40×+-commutative_binary64_2395
35×sub-neg_binary64_2458
32×neg-mul-1_binary64_2461 neg-sub0_binary64_2460
23×distribute-rgt-neg-in_binary64_2423
20×distribute-lft-neg-in_binary64_2422
unsub-neg_binary64_2459
distribute-neg-in_binary64_2426
cancel-sign-sub-inv_binary64_2431
distribute-neg-frac_binary64_2429
distribute-lft-neg-out_binary64_2424
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_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 unpow1_binary64_2523 e-exp-1_binary64_2510 1-exp_binary64_2509 exp-1-e_binary64_2508 exp-0_binary64_2507 sqr-abs_binary64_2480 sqr-neg_binary64_2479 mul-1-neg_binary64_2457 /-rgt-identity_binary64_2456 *-rgt-identity_binary64_2455 *-lft-identity_binary64_2454 remove-double-neg_binary64_2453 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 +-lft-identity_binary64_2449 cancel-sign-sub_binary64_2430 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 distribute-rgt-neg-out_binary64_2425
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055145
194143
2139143
3188143
4241143
5281143
6311143
7326143
8331143
9332143
Proof
(if real (<= f64 (/ f64 (+ f64 (neg f64 h0) (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2)))) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h2 h1))) (* f64 h0 h0)) (+ f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0)) (* f64 3 h1)) (=> (neg f64 (+ f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 (pow f64 h2 2) h1) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))))) distribute-neg-in_binary64_2426 => (if real (<= f64 (/ f64 (+ f64 (neg f64 h0) (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2)))) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (=> (* f64 h2 h1)))) (* f64 h0 h0)) (+ f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0)) (* f64 3 h1)) (+ f64 (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5)))) (neg f64 (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 (pow f64 h2 2) h1) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0))))))) *-commutative_binary64_2396 => (if real (<= f64 (/ f64 (+ f64 (neg f64 h0) (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2)))) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (=> (+ f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0))) (* f64 3 h1)) (+ f64 (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5)))) (neg f64 (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 (pow f64 h2 2) h1) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0))))))) +-commutative_binary64_2395 => (if real (<= f64 (/ f64 (=> (+ f64 (neg f64 h0) (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (+ f64 (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5)))) (neg f64 (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 (pow f64 h2 2) h1) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0))))))) +-commutative_binary64_2395 => (if real (<= f64 (/ f64 (+ f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) (neg f64 h0)) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (=> (+ f64 (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5)))) (neg f64 (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 (pow f64 h2 2) h1) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))))) unsub-neg_binary64_2459 => (if real (<= f64 (/ f64 (+ f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) (neg f64 h0)) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5)))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (=> (* f64 (pow f64 h2 2) h1)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))) *-commutative_binary64_2396 => (if real (<= f64 (/ f64 (=> (+ f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) (neg f64 h0))) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5)))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 h1 (pow f64 h2 2)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))) unsub-neg_binary64_2459 => (if real (<= f64 (/ f64 (- f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (=> (neg f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5))))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 h1 (pow f64 h2 2)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))) distribute-rgt-neg-in_binary64_2423 => (if real (<= f64 (/ f64 (- f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (* f64 9/16 (=> (neg f64 (/ f64 (* f64 (pow f64 h2 3) (pow f64 h1 2)) (pow f64 h0 5))))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 h1 (pow f64 h2 2)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))) distribute-neg-frac_binary64_2429 => (if real (<= f64 (/ f64 (- f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (* f64 9/16 (/ f64 (neg f64 (=> (* f64 (pow f64 h2 3) (pow f64 h1 2)))) (pow f64 h0 5))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 h1 (pow f64 h2 2)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))) *-commutative_binary64_2396 => (if real (<= f64 (/ f64 (- f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (* f64 9/16 (/ f64 (=> (neg f64 (* f64 (pow f64 h1 2) (pow f64 h2 3)))) (pow f64 h0 5))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 h1 (pow f64 h2 2)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0)))))) distribute-rgt-neg-in_binary64_2423 => (if real (<= f64 (/ f64 (- f64 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))) h0) (* f64 3 h1)) -5555957690949015/4503599627370496) (/ f64 (/ f64 (- f64 (- f64 (* f64 h0 h0) (* f64 3 (* f64 h1 h2))) (* f64 h0 h0)) (+ f64 h0 (sqrt f64 (- f64 (* f64 h0 h0) (* f64 (* f64 3 h1) h2))))) (* f64 3 h1)) (- f64 (* f64 9/16 (/ f64 (* f64 (pow f64 h1 2) (neg f64 (pow f64 h2 3))) (pow f64 h0 5))) (+ f64 (* f64 135/128 (/ f64 (* f64 (pow f64 h2 4) (pow f64 h1 3)) (pow f64 h0 7))) (+ f64 (* f64 3/8 (/ f64 (* f64 h1 (pow f64 h2 2)) (pow f64 h0 3))) (* f64 1/2 (/ f64 h2 h0))))))

end0.0ms (0%)

sample6.9s (8.2%)

Algorithm
intervals
Results
522.0ms7716×body128valid
299.0ms8970×pre128true
57.0ms970×body128nan
38.0ms284×body256valid
Compiler

Compiled 9317 to 6844 computations (26.5% saved)

Profiling

Loading profile data...