Details

Time bar (total: 2.8s)

analyze4.0ms (0.1%)

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

Compiled 24 to 20 computations (16.7% saved)

sample30.0ms (1.1%)

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

Compiled 31 to 31 computations (0% saved)

simplify161.0ms (5.8%)

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.1b

Counts
2 → 1
Compiler

Compiled 14 to 14 computations (0% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

rewrite14.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64_1111
add-sqr-sqrt_binary64_1133 associate-*r*_binary64_1051
add-cbrt-cube_binary64_1147 add-cube-cbrt_binary64_1146 associate-*l*_binary64_1052 distribute-lft-out_binary64_1062 pow1_binary64_1172 add-exp-log_binary64_1149
associate-*r/_binary64_1053
*-commutative_binary64_1042 prod-exp_binary64_1160 cbrt-unprod_binary64_1144 flip-+_binary64_1085 distribute-lft-in_binary64_1060 flip3-+_binary64_1114 pow-prod-down_binary64_1182 unswap-sqr_binary64_1079 add-log-exp_binary64_1150 distribute-rgt-in_binary64_1061
Counts
1 → 24
Calls

1 calls:

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

series61.0ms (2.2%)

Counts
1 → 3
Calls

1 calls:

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

simplify75.0ms (2.7%)

Algorithm
egg-herbie
Counts
27 → 27
Iterations

Useful iterations: 0 (67.0ms)

IterNodesCost
05242312

prune55.0ms (2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New22527
Fresh000
Picked011
Done000
Total22628

Merged error: 0b

Counts
28 → 6
Compiler

Compiled 876 to 469 computations (46.5% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

rewrite17.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64_1111 add-sqr-sqrt_binary64_1133
add-cbrt-cube_binary64_1147 add-cube-cbrt_binary64_1146 associate-*r*_binary64_1051 add-log-exp_binary64_1150 pow1_binary64_1172 add-exp-log_binary64_1149
associate-*l*_binary64_1052
flip-+_binary64_1085 distribute-lft-in_binary64_1060 associate-+l+_binary64_1044 flip3-+_binary64_1114 distribute-lft-out_binary64_1062 distribute-rgt-in_binary64_1061 associate-*r/_binary64_1053
*-commutative_binary64_1042 prod-exp_binary64_1160 cbrt-unprod_binary64_1144 +-commutative_binary64_1041 pow-prod-down_binary64_1182 unswap-sqr_binary64_1079 sum-log_binary64_1202
Counts
2 → 37
Calls

2 calls:

8.0ms
(+.f64 (*.f64 a (+.f64 b c)) (*.f64 a d))
7.0ms
(*.f64 a (+.f64 b c))

series116.0ms (4.2%)

Counts
2 → 6
Calls

2 calls:

66.0ms
(+.f64 (*.f64 a (+.f64 b c)) (*.f64 a d))
50.0ms
(*.f64 a (+.f64 b c))

simplify69.0ms (2.5%)

Algorithm
egg-herbie
Counts
43 → 43
Iterations

Useful iterations: 0 (59.0ms)

IterNodesCost
05010471

prune33.0ms (1.2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New42143
Fresh134
Picked011
Done011
Total43649

Merged error: 0b

Counts
49 → 6
Compiler

Compiled 687 to 233 computations (66.1% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

rewrite16.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64_1111 add-sqr-sqrt_binary64_1133
add-cbrt-cube_binary64_1147 add-cube-cbrt_binary64_1146 associate-*r*_binary64_1051 add-log-exp_binary64_1150 pow1_binary64_1172 add-exp-log_binary64_1149
associate-*l*_binary64_1052
flip-+_binary64_1085 distribute-lft-in_binary64_1060 flip3-+_binary64_1114 distribute-rgt-in_binary64_1061 associate-*r/_binary64_1053 associate-+r+_binary64_1043
*-commutative_binary64_1042 prod-exp_binary64_1160 cbrt-unprod_binary64_1144 +-commutative_binary64_1041 pow-prod-down_binary64_1182 unswap-sqr_binary64_1079 distribute-lft-out_binary64_1062 sum-log_binary64_1202
Counts
2 → 36
Calls

2 calls:

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

series110.0ms (4%)

Counts
2 → 6
Calls

2 calls:

61.0ms
(+.f64 (*.f64 b a) (*.f64 a (+.f64 c d)))
49.0ms
(*.f64 a (+.f64 c d))

simplify51.0ms (1.9%)

Algorithm
egg-herbie
Counts
42 → 42
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
05095464

prune29.0ms (1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New42042
Fresh033
Picked011
Done022
Total42648

Merged error: 0b

Counts
48 → 6
Compiler

Compiled 580 to 158 computations (72.8% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

rewrite57.0ms (2.1%)

Algorithm
rewrite-expression-head
Rules
61×pow1_binary64_1172
32×sqrt-pow1_binary64_1129
23×pow-prod-down_binary64_1182
20×associate-*r/_binary64_1053
16×sqrt-div_binary64_1128
15×*-un-lft-identity_binary64_1111
14×add-sqr-sqrt_binary64_1133
12×pow1/2_binary64_1191
10×pow-prod-up_binary64_1181 add-cube-cbrt_binary64_1146
flip-+_binary64_1085 associate-*r*_binary64_1051 flip3-+_binary64_1114
add-cbrt-cube_binary64_1147 add-exp-log_binary64_1149
associate-*l*_binary64_1052
pow-sqr_binary64_1084 sqrt-prod_binary64_1127
frac-times_binary64_1121 swap-sqr_binary64_1078 add-log-exp_binary64_1150
distribute-lft-out_binary64_1062
*-commutative_binary64_1042 prod-exp_binary64_1160 associate-*l/_binary64_1054 cbrt-unprod_binary64_1144 unswap-sqr_binary64_1079
rem-square-sqrt_binary64_1123 distribute-lft-in_binary64_1060 pow-plus_binary64_1174 pow2_binary64_1192 distribute-rgt-in_binary64_1061 sqrt-unprod_binary64_1131
Counts
4 → 107
Calls

4 calls:

21.0ms
(*.f64 (sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d))) (sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d))))
10.0ms
(*.f64 a (+.f64 (+.f64 b c) d))
7.0ms
(sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d)))
7.0ms
(sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d)))

series708.0ms (25.7%)

Counts
4 → 12
Calls

4 calls:

294.0ms
(sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d)))
290.0ms
(sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d)))
62.0ms
(*.f64 (sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d))) (sqrt.f64 (*.f64 a (+.f64 (+.f64 b c) d))))
62.0ms
(*.f64 a (+.f64 (+.f64 b c) d))

simplify73.0ms (2.7%)

Algorithm
egg-herbie
Counts
119 → 119
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
050821743

prune87.0ms (3.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1190119
Fresh022
Picked011
Done033
Total1196125

Merged error: 0b

Counts
125 → 6
Compiler

Compiled 2373 to 499 computations (79% saved)

regimes114.0ms (4.1%)

Compiler

Compiled 573 to 503 computations (12.2% saved)

bsearch0.0ms (0%)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
01313
11313

end0.0ms (0%)

sample848.0ms (30.7%)

Algorithm
intervals
Results
308.0ms8000×pre128true
212.0ms8000×body128valid
Compiler

Compiled 104 to 90 computations (13.5% saved)

Profiling

Loading profile data...