Details

Time bar (total: 3.7s)

analyze71.0ms (1.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%50%25.1%6
25%31.2%43.8%7
25%21.9%53.2%8
25%14%61%9
28.1%10.9%61%10
31.6%7.4%61%11
33.4%5.7%61%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample17.0ms (0.5%)

Algorithm
intervals
Results
10.0ms256×body128valid
Compiler

Compiled 35 to 27 computations (22.9% saved)

simplify127.0ms (3.4%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (32.0ms)

IterNodesCost
0512625

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 0.2b

Counts
2 → 1
Compiler

Compiled 34 to 24 computations (29.4% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
0.0b
(*.f64 4 (*.f64 b b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

rewrite27.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
10×pow1_binary64_2185 add-exp-log_binary64_2162
add-cbrt-cube_binary64_2160
add-log-exp_binary64_2163 add-sqr-sqrt_binary64_2146
add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
pow-prod-down_binary64_2195 pow-unpow_binary64_2201 unpow-prod-down_binary64_2203 associate-*l*_binary64_2065 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
sum-log_binary64_2215 +-commutative_binary64_2054 flip3-+_binary64_2127 flip-+_binary64_2098
unswap-sqr_binary64_2092 pow-pow_binary64_2196 pow-exp_binary64_2192 *-commutative_binary64_2055 sqr-pow_binary64_2096 unpow2_binary64_2189 pow-to-exp_binary64_2193 associate-*r*_binary64_2064
Counts
4 → 59
Calls

4 calls:

8.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
6.0ms
(*.f64 4 (*.f64 b b))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
4.0ms
(+.f64 (*.f64 a a) (*.f64 b b))

series112.0ms (3%)

Counts
4 → 12
Calls

4 calls:

47.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
28.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
19.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
17.0ms
(*.f64 4 (*.f64 b b))

simplify73.0ms (2%)

Algorithm
egg-herbie
Counts
71 → 71
Iterations

Useful iterations: 0 (58.0ms)

IterNodesCost
049801108
149801108

prune79.0ms (2.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New69271
Fresh000
Picked101
Done000
Total70272

Merged error: 0.0b

Counts
72 → 2
Compiler

Compiled 1625 to 771 computations (52.6% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (+.f64 (+.f64 (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 4 (*.f64 b b))) 1)
0.0b
(+.f64 (+.f64 (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 4 (*.f64 b b)))
0.0b
(*.f64 4 (*.f64 b b))
1.8b
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))

rewrite70.0ms (1.9%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
27×add-log-exp_binary64_2163
18×pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
12×sum-log_binary64_2215
11×add-sqr-sqrt_binary64_2146
*-un-lft-identity_binary64_2124
add-cube-cbrt_binary64_2159
diff-log_binary64_2216 associate-*l*_binary64_2065
cancel-sign-sub-inv_binary64_2090
difference-of-squares_binary64_2093 *-commutative_binary64_2055 associate-*r*_binary64_2064
flip--_binary64_2099 flip3--_binary64_2128 unswap-sqr_binary64_2092 distribute-lft-out--_binary64_2076 +-commutative_binary64_2054 associate--l+_binary64_2061 sub-neg_binary64_2117 flip3-+_binary64_2127 difference-of-sqr-1_binary64_2094 associate-+l+_binary64_2057 flip-+_binary64_2098
Counts
4 → 83
Calls

4 calls:

23.0ms
(-.f64 (+.f64 (+.f64 (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 4 (*.f64 b b))) 1)
20.0ms
(+.f64 (+.f64 (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 4 (*.f64 b b)))
12.0ms
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))
5.0ms
(*.f64 4 (*.f64 b b))

series150.0ms (4%)

Counts
4 → 12
Calls

4 calls:

52.0ms
(-.f64 (+.f64 (+.f64 (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 4 (*.f64 b b))) 1)
52.0ms
(+.f64 (+.f64 (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 4 (*.f64 b b)))
28.0ms
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))
18.0ms
(*.f64 4 (*.f64 b b))

simplify61.0ms (1.6%)

Algorithm
egg-herbie
Counts
95 → 95
Iterations

Useful iterations: 0 (39.0ms)

IterNodesCost
049772092
149772092

prune136.0ms (3.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New94195
Fresh011
Picked011
Done000
Total94397

Merged error: 0b

Counts
97 → 3
Compiler

Compiled 2840 to 1883 computations (33.7% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1)
0.0b
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1)))
0.0b
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1))
1.0b
(*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2))

rewrite58.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
20×add-log-exp_binary64_2163
13×pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
12×*-un-lft-identity_binary64_2124
10×sum-log_binary64_2215
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
add-cube-cbrt_binary64_2159 add-sqr-sqrt_binary64_2146
distribute-lft-out_binary64_2075 flip3-+_binary64_2127 flip-+_binary64_2098
+-commutative_binary64_2054 associate-*r*_binary64_2064
associate-+r+_binary64_2056 distribute-rgt-in_binary64_2074 associate-*r/_binary64_2066 associate-+l+_binary64_2057 distribute-lft-in_binary64_2073
*-commutative_binary64_2055 associate-*l*_binary64_2065
Counts
4 → 68
Calls

4 calls:

17.0ms
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1)))
13.0ms
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1))
11.0ms
(+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1)
11.0ms
(*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2))

series188.0ms (5.1%)

Counts
4 → 12
Calls

4 calls:

55.0ms
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1)))
55.0ms
(*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2))
41.0ms
(+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1)
37.0ms
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 b (*.f64 b 2)) (+.f64 (*.f64 a a) 2)) -1))

simplify88.0ms (2.4%)

Algorithm
egg-herbie
Counts
80 → 80
Iterations

Useful iterations: 0 (65.0ms)

IterNodesCost
049762078
149762078

prune118.0ms (3.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New80080
Fresh011
Picked011
Done011
Total80383

Merged error: 0b

Counts
83 → 3
Compiler

Compiled 2421 to 1694 computations (30% saved)

localize24.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
1.8b
(*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))
3.6b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))
43.5b
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 6) (*.f64 (pow.f64 b 6) 64)) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))

rewrite68.0ms (1.8%)

Algorithm
rewrite-expression-head
Rules
31×add-exp-log_binary64_2162
27×*-un-lft-identity_binary64_2124
18×prod-exp_binary64_2173
17×add-cube-cbrt_binary64_2159 add-sqr-sqrt_binary64_2146
15×add-cbrt-cube_binary64_2160
12×times-frac_binary64_2130
add-log-exp_binary64_2163
associate-*l*_binary64_2065
unpow-prod-down_binary64_2203 cbrt-unprod_binary64_2157
distribute-lft-out_binary64_2075 pow1_binary64_2185
pow-exp_binary64_2192 associate-/r*_binary64_2068 pow-to-exp_binary64_2193
pow-unpow_binary64_2201 associate-/l*_binary64_2069 flip3-+_binary64_2127 flip-+_binary64_2098
associate-/r/_binary64_2070 sum-log_binary64_2215 associate-+r+_binary64_2056 sqr-pow_binary64_2096 unpow2_binary64_2189 associate-/l/_binary64_2071
clear-num_binary64_2123 cbrt-undiv_binary64_2158 cancel-sign-sub-inv_binary64_2090 associate-+r-_binary64_2058 pow-pow_binary64_2196 *-commutative_binary64_2055 diff-log_binary64_2216 +-commutative_binary64_2054 sub-neg_binary64_2117 associate-*r*_binary64_2064 div-inv_binary64_2121 div-exp_binary64_2175 frac-2neg_binary64_2135
Counts
4 → 98
Calls

4 calls:

19.0ms
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 6) (*.f64 (pow.f64 b 6) 64)) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))
12.0ms
(*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))
12.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series610.0ms (16.4%)

Counts
4 → 12
Calls

4 calls:

305.0ms
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 6) (*.f64 (pow.f64 b 6) 64)) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))
229.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))
50.0ms
(*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))
27.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

simplify109.0ms (2.9%)

Algorithm
egg-herbie
Counts
110 → 110
Iterations

Useful iterations: 0 (65.0ms)

IterNodesCost
050465411

prune267.0ms (7.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1100110
Fresh000
Picked011
Done022
Total1103113

Merged error: 0b

Counts
113 → 3
Compiler

Compiled 6841 to 3296 computations (51.8% saved)

regimes256.0ms (6.9%)

Compiler

Compiled 3188 to 2246 computations (29.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
03537
13537

end0.0ms (0%)

sample974.0ms (26.1%)

Algorithm
intervals
Results
340.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 504 to 362 computations (28.2% saved)

Profiling

Loading profile data...