Details

Time bar (total: 3.7s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 24 to 20 computations (16.7% saved)

sample25.0ms (0.7%)

Algorithm
intervals
Results
10.0ms256×pre128true
6.0ms256×body128valid
Compiler

Compiled 31 to 31 computations (0% saved)

simplify100.0ms (2.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
04310
14310

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 0.0b

Counts
2 → 1
Compiler

Compiled 14 to 14 computations (0% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 a (+.f64 (+.f64 b c) d))

rewrite11.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64_2465
add-sqr-sqrt_binary64_2487 associate-*r*_binary64_2405
add-cube-cbrt_binary64_2500 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501 pow1_binary64_2526 distribute-lft-out_binary64_2416 associate-*l*_binary64_2406
associate-*r/_binary64_2407
flip3-+_binary64_2468 add-log-exp_binary64_2504 distribute-lft-in_binary64_2414 *-commutative_binary64_2396 flip-+_binary64_2439 unswap-sqr_binary64_2433 distribute-rgt-in_binary64_2415 prod-exp_binary64_2514 pow-prod-down_binary64_2536 cbrt-unprod_binary64_2498
Counts
1 → 24
Calls

1 calls:

9.0ms
(*.f64 a (+.f64 (+.f64 b c) d))

series29.0ms (0.8%)

Counts
1 → 3
Calls

1 calls:

29.0ms
(*.f64 a (+.f64 (+.f64 b c) d))

simplify69.0ms (1.9%)

Algorithm
egg-herbie
Counts
27 → 27
Iterations

Useful iterations: 0 (61.0ms)

IterNodesCost
05133312

prune26.0ms (0.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New24327
Fresh000
Picked011
Done000
Total24428

Merged error: 0b

Counts
28 → 4
Compiler

Compiled 383 to 105 computations (72.6% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f64 (+.f64 (+.f64 b c) d))
0.4b
(*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d)))
0.4b
(*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d)))
0.5b
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d))) (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d))))

rewrite64.0ms (1.7%)

Algorithm
rewrite-expression-head
Rules
68×pow1_binary64_2526
41×pow-prod-down_binary64_2536
30×add-sqr-sqrt_binary64_2487
29×sqrt-prod_binary64_2481
28×*-un-lft-identity_binary64_2465
21×pow1/2_binary64_2545 sqrt-pow1_binary64_2483
20×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
18×associate-*r/_binary64_2407 sqrt-div_binary64_2482
17×associate-*r*_binary64_2405
13×add-cube-cbrt_binary64_2500 associate-*l*_binary64_2406
10×prod-exp_binary64_2514 cbrt-unprod_binary64_2498
flip3-+_binary64_2468 flip-+_binary64_2439 distribute-lft-out_binary64_2416
unswap-sqr_binary64_2433 pow-prod-up_binary64_2535
sqrt-unprod_binary64_2485
pow-sqr_binary64_2438
add-log-exp_binary64_2504 frac-times_binary64_2475
*-commutative_binary64_2396
associate-*l/_binary64_2408 pow-plus_binary64_2528
swap-sqr_binary64_2432 rem-square-sqrt_binary64_2477 rem-sqrt-square_binary64_2478 pow2_binary64_2546
Counts
4 → 137
Calls

4 calls:

20.0ms
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d))) (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d))))
11.0ms
(*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d)))
11.0ms
(*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d)))
5.0ms
(sqrt.f64 (+.f64 (+.f64 b c) d))

series383.0ms (10.5%)

Counts
4 → 12
Calls

4 calls:

150.0ms
(*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d)))
149.0ms
(*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d)))
53.0ms
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d))) (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 (+.f64 b c) d))))
32.0ms
(sqrt.f64 (+.f64 (+.f64 b c) d))

simplify66.0ms (1.8%)

Algorithm
egg-herbie
Counts
149 → 149
Iterations

Useful iterations: 0 (39.0ms)

IterNodesCost
050042339

prune103.0ms (2.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1490149
Fresh022
Picked011
Done011
Total1494153

Merged error: 0b

Counts
153 → 4
Compiler

Compiled 3259 to 508 computations (84.4% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d))
0.0b
(*.f64 (+.f64 b c) (+.f64 b c))
0.5b
(*.f64 a (-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d)))
6.5b
(/.f64 (*.f64 a (-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d))) (-.f64 (+.f64 b c) d))

rewrite57.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
36×*-un-lft-identity_binary64_2465
20×add-sqr-sqrt_binary64_2487
13×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501 pow1_binary64_2526
12×add-cube-cbrt_binary64_2500
distribute-lft-in_binary64_2414 distribute-rgt-in_binary64_2415 associate-*r*_binary64_2405 distribute-lft-out_binary64_2416
associate-*l*_binary64_2406
flip3-+_binary64_2468 add-log-exp_binary64_2504 times-frac_binary64_2471 associate-/r*_binary64_2409 swap-sqr_binary64_2432 flip-+_binary64_2439 associate-*r/_binary64_2407 associate--l+_binary64_2402
difference-of-squares_binary64_2434 frac-times_binary64_2475 flip--_binary64_2440 distribute-lft-out--_binary64_2417 flip3--_binary64_2469
sub-neg_binary64_2458 cancel-sign-sub-inv_binary64_2431 prod-exp_binary64_2514 cbrt-unprod_binary64_2498
associate-*l/_binary64_2408 *-commutative_binary64_2396 associate-/l/_binary64_2412 cbrt-undiv_binary64_2499 unswap-sqr_binary64_2433 div-exp_binary64_2516 associate-/r/_binary64_2411 pow-prod-down_binary64_2536
pow-plus_binary64_2528 clear-num_binary64_2464 div-inv_binary64_2462 diff-log_binary64_2557 pow2_binary64_2546 frac-2neg_binary64_2476 associate-/l*_binary64_2410 pow-sqr_binary64_2438 pow-prod-up_binary64_2535
Counts
4 → 115
Calls

4 calls:

17.0ms
(/.f64 (*.f64 a (-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d))) (-.f64 (+.f64 b c) d))
12.0ms
(*.f64 a (-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d)))
9.0ms
(-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d))
9.0ms
(*.f64 (+.f64 b c) (+.f64 b c))

series336.0ms (9.2%)

Counts
4 → 12
Calls

4 calls:

140.0ms
(/.f64 (*.f64 a (-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d))) (-.f64 (+.f64 b c) d))
134.0ms
(*.f64 a (-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d)))
49.0ms
(-.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (*.f64 d d))
13.0ms
(*.f64 (+.f64 b c) (+.f64 b c))

simplify73.0ms (2%)

Algorithm
egg-herbie
Counts
127 → 127
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
050542222

prune101.0ms (2.8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1270127
Fresh011
Picked011
Done022
Total1274131

Merged error: 0b

Counts
131 → 4
Compiler

Compiled 2914 to 827 computations (71.6% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(pow.f64 (+.f64 b c) 3)
0.0b
(-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))
0.6b
(*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3)))
18.5b
(/.f64 (*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3))) (+.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))))

rewrite75.0ms (2.1%)

Algorithm
rewrite-expression-head
Rules
37×*-un-lft-identity_binary64_2465
18×associate-/r/_binary64_2411
16×flip3-+_binary64_2468 flip-+_binary64_2439 frac-add_binary64_2473
15×distribute-lft-out_binary64_2416
13×add-sqr-sqrt_binary64_2487 associate-*r*_binary64_2405
12×add-exp-log_binary64_2503 cube-prod_binary64_2493 add-cbrt-cube_binary64_2501 unpow-prod-down_binary64_2544
11×add-cube-cbrt_binary64_2500
flip--_binary64_2440 flip3--_binary64_2469
frac-times_binary64_2475 associate-*r/_binary64_2407
pow1_binary64_2526
add-log-exp_binary64_2504
associate-*l/_binary64_2408
times-frac_binary64_2471 associate-/r*_binary64_2409 pow-unpow_binary64_2542 associate-*l*_binary64_2406
associate-/l/_binary64_2412 cbrt-undiv_binary64_2499 div-exp_binary64_2516 prod-exp_binary64_2514 cube-div_binary64_2494 cbrt-unprod_binary64_2498
rem-cube-cbrt_binary64_2488 distribute-lft-in_binary64_2414 unpow3_binary64_2531 *-commutative_binary64_2396 clear-num_binary64_2464 pow-exp_binary64_2533 sub-neg_binary64_2458 sum-cubes_binary64_2466 unswap-sqr_binary64_2433 cube-mult_binary64_2495 pow-to-exp_binary64_2534 distribute-rgt-in_binary64_2415 cancel-sign-sub-inv_binary64_2431 div-inv_binary64_2462 sqr-pow_binary64_2437 diff-log_binary64_2557 pow-pow_binary64_2537 frac-2neg_binary64_2476 pow-prod-down_binary64_2536 distribute-rgt-out--_binary64_2419 associate-/l*_binary64_2410
Counts
4 → 113
Calls

4 calls:

31.0ms
(/.f64 (*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3))) (+.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))))
20.0ms
(*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3)))
4.0ms
(pow.f64 (+.f64 b c) 3)
4.0ms
(-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))

series665.0ms (18.2%)

Counts
4 → 12
Calls

4 calls:

317.0ms
(/.f64 (*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3))) (+.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))))
301.0ms
(*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3)))
24.0ms
(-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))
23.0ms
(pow.f64 (+.f64 b c) 3)

simplify75.0ms (2.1%)

Algorithm
egg-herbie
Counts
125 → 125
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
054583637

prune156.0ms (4.3%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1250125
Fresh000
Picked011
Done033
Total1254129

Merged error: 0b

Counts
129 → 4
Compiler

Compiled 5224 to 1606 computations (69.3% saved)

regimes224.0ms (6.1%)

Compiler

Compiled 1997 to 1429 computations (28.4% saved)

bsearch0.0ms (0%)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
01313
11313

end0.0ms (0%)

sample969.0ms (26.5%)

Algorithm
intervals
Results
318.0ms8000×pre128true
218.0ms8000×body128valid
Compiler

Compiled 258 to 189 computations (26.7% saved)

Profiling

Loading profile data...