Details

Time bar (total: 2.8s)

analyze2.0ms (0.1%)

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

Compiled 16 to 11 computations (31.3% saved)

sample22.0ms (0.8%)

Algorithm
intervals
Results
9.0ms256×pre128true
5.0ms256×body128valid
Compiler

Compiled 23 to 17 computations (26.1% saved)

simplify97.0ms (3.4%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
07010
17010

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Compiler

Compiled 14 to 8 computations (42.9% saved)

localize3.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

rewrite13.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
19×*-un-lft-identity_binary64_1101
pow1_binary64_1162
add-sqr-sqrt_binary64_1123
distribute-lft-out_binary64_1052 flip3-+_binary64_1104 swap-sqr_binary64_1068 flip-+_binary64_1075
add-cube-cbrt_binary64_1136
frac-times_binary64_1111 associate-*r*_binary64_1041 associate-*l*_binary64_1042
add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
associate-*r/_binary64_1043 associate-*l/_binary64_1044
pow-plus_binary64_1164 *-commutative_binary64_1032 cbrt-unprod_binary64_1134 pow-prod-up_binary64_1171 add-log-exp_binary64_1140 prod-exp_binary64_1150 distribute-lft-in_binary64_1050 pow-sqr_binary64_1074 pow-prod-down_binary64_1172 unswap-sqr_binary64_1069 pow2_binary64_1182 distribute-rgt-in_binary64_1051
Counts
1 → 40
Calls

2 calls:

10.0ms
(*.f64 (+.f64 a b) (+.f64 a b))
0.0ms
(*.f64 (+.f64 a b) (+.f64 a b))

series89.0ms (3.1%)

Counts
1 → 18
Calls

1 calls:

89.0ms
(*.f64 (+.f64 a b) (+.f64 a b))
Compiler

Compiled 228 to 204 computations (10.5% saved)

simplify63.0ms (2.2%)

Algorithm
egg-herbie
Counts
58 → 58
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
04969634
14969634

prune46.0ms (1.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New56258
Fresh000
Picked011
Done000
Total56359
Error
0b
Counts
59 → 3
Compiler

Compiled 607 to 219 computations (63.9% saved)

localize6.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite18.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
10×associate-*r/_binary64_1043
add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101 flip3-+_binary64_1104 flip-+_binary64_1075
add-log-exp_binary64_1140 add-exp-log_binary64_1139 pow1_binary64_1162 add-cube-cbrt_binary64_1136 add-cbrt-cube_binary64_1137 associate-*r*_binary64_1041 frac-add_binary64_1109
distribute-lft-in_binary64_1050 associate-*l*_binary64_1042 distribute-rgt-in_binary64_1051
associate-+r+_binary64_1033 associate-+l+_binary64_1034
*-commutative_binary64_1032 distribute-rgt-out_binary64_1054 cbrt-unprod_binary64_1134 prod-exp_binary64_1150 distribute-lft-out_binary64_1052 sum-log_binary64_1192 +-commutative_binary64_1031 pow-prod-down_binary64_1172 unswap-sqr_binary64_1069
Counts
2 → 43
Calls

4 calls:

8.0ms
(+.f64 (*.f64 a (+.f64 a b)) (*.f64 b (+.f64 a b)))
7.0ms
(*.f64 b (+.f64 a b))
0.0ms
(+.f64 (*.f64 a (+.f64 a b)) (*.f64 b (+.f64 a b)))
0.0ms
(*.f64 b (+.f64 a b))

series217.0ms (7.6%)

Counts
2 → 30
Calls

2 calls:

148.0ms
(+.f64 (*.f64 a (+.f64 a b)) (*.f64 b (+.f64 a b)))
68.0ms
(*.f64 b (+.f64 a b))
Compiler

Compiled 438 to 351 computations (19.9% saved)

simplify66.0ms (2.3%)

Algorithm
egg-herbie
Counts
73 → 73
Iterations

Useful iterations: 0 (52.0ms)

IterNodesCost
04768814
14768814

prune45.0ms (1.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New73073
Fresh011
Picked011
Done011
Total73376
Error
0b
Counts
76 → 3
Compiler

Compiled 945 to 214 computations (77.4% saved)

localize17.0ms (0.6%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b (-.f64 b a)))
0.0b
(*.f64 b (-.f64 b a))
0.0b
(-.f64 (*.f64 a a) (*.f64 b b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b (-.f64 b a)))
0.3b
(*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b))
0.3b
(/.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b)))
0.3b
(*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b)))

rewrite87.0ms (3.1%)

Algorithm
rewrite-expression-head
Rules
24×*-un-lft-identity_binary64_1101
20×add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
18×add-sqr-sqrt_binary64_1123
16×frac-times_binary64_1111
14×cancel-sign-sub-inv_binary64_1067
13×flip3-+_binary64_1104 flip-+_binary64_1075
12×flip--_binary64_1076 flip3--_binary64_1105 add-cube-cbrt_binary64_1136 associate-*l*_binary64_1042
10×distribute-lft-in_binary64_1050 distribute-rgt-in_binary64_1051
associate-*r*_binary64_1041
pow1_binary64_1162 associate-+r+_binary64_1033 associate-/l/_binary64_1048 associate-*r/_binary64_1043 associate-/r/_binary64_1047 associate-*l/_binary64_1044
cbrt-unprod_binary64_1134 add-log-exp_binary64_1140 prod-exp_binary64_1150 sub-neg_binary64_1094
distribute-lft-out_binary64_1052
cube-prod_binary64_1129 unpow-prod-down_binary64_1180 div-exp_binary64_1152 cbrt-undiv_binary64_1135
*-commutative_binary64_1032 difference-of-squares_binary64_1070 pow-prod-down_binary64_1172 unswap-sqr_binary64_1069
frac-2neg_binary64_1112 sum-log_binary64_1192 clear-num_binary64_1100 distribute-lft-out--_binary64_1053 div-inv_binary64_1098 associate-/l*_binary64_1046 times-frac_binary64_1107 +-commutative_binary64_1031 sum-cubes_binary64_1102 associate-/r*_binary64_1045
Counts
4 → 129
Calls

8 calls:

33.0ms
(/.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b)))
20.0ms
(*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b)))
11.0ms
(*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b))
5.0ms
(+.f64 (*.f64 a a) (*.f64 b (-.f64 b a)))
0.0ms
(-.f64 (*.f64 a a) (*.f64 b b))

series742.0ms (26.1%)

Counts
4 → 63
Calls

4 calls:

451.0ms
(/.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b)))
122.0ms
(*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b)))
88.0ms
(*.f64 (+.f64 (*.f64 a a) (*.f64 b (-.f64 b a))) (-.f64 a b))
80.0ms
(+.f64 (*.f64 a a) (*.f64 b (-.f64 b a)))
Compiler

Compiled 1890 to 1377 computations (27.1% saved)

simplify99.0ms (3.5%)

Algorithm
egg-herbie
Counts
192 → 192
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
049774666
149774666

prune230.0ms (8.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1920192
Fresh000
Picked011
Done022
Total1923195
Error
0b
Counts
195 → 3
Compiler

Compiled 6350 to 2113 computations (66.7% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0106242
1106242

regimes120.0ms (4.2%)

Compiler

Compiled 751 to 553 computations (26.4% saved)

bsearch0.0ms (0%)

regimes50.0ms (1.8%)

Compiler

Compiled 140 to 134 computations (4.3% saved)

bsearch0.0ms (0%)

regimes19.0ms (0.7%)

Compiler

Compiled 30 to 44 computations (-46.7% saved)

bsearch0.0ms (0%)

regimes18.0ms (0.6%)

Compiler

Compiled 16 to 32 computations (-100% saved)

bsearch0.0ms (0%)

regimes14.0ms (0.5%)

Accuracy

Total 0.0b remaining (98.3%)

Threshold costs 0.0b (98.3%)

Compiler

Compiled 10 to 26 computations (-160% saved)

bsearch3.0ms (0.1%)

Compiler

Compiled 29 to 22 computations (24.1% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02241
12241

end0.0ms (0%)

sample741.0ms (26.1%)

Algorithm
intervals
Results
182.0ms8000×pre128true
129.0ms8000×body128valid
Compiler

Compiled 227 to 161 computations (29.1% saved)

Pareto

0.789591365046175

Profiling

Loading profile data...