Details

Time bar (total: 7.9s)

analyze245.0ms (3.1%)

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%68.7%6.3%6
25%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 30 to 20 computations (33.3% saved)

sample48.0ms (0.6%)

Algorithm
intervals
Results
34.0ms256×body128valid
Compiler

Compiled 59 to 41 computations (30.5% saved)

simplify418.0ms (5.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (123.0ms)

IterNodesCost
0507043

prune6.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 58 to 38 computations (34.5% saved)

localize34.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.7b
(*.f64 (*.f64 b b) (+.f64 3 a))

rewrite93.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64_2146
19×*-un-lft-identity_binary64_2124
15×pow1_binary64_2185 add-exp-log_binary64_2162
14×add-cbrt-cube_binary64_2160
11×add-cube-cbrt_binary64_2159
10×associate-*r*_binary64_2064
cancel-sign-sub-inv_binary64_2090 add-log-exp_binary64_2163
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073
difference-of-squares_binary64_2093 associate-*r/_binary64_2066
pow-unpow_binary64_2201 unpow-prod-down_binary64_2203 sub-neg_binary64_2117
flip--_binary64_2099 flip3--_binary64_2128 unswap-sqr_binary64_2092 distribute-lft-out--_binary64_2076 *-commutative_binary64_2055 diff-log_binary64_2216 associate-*l*_binary64_2065
pow-pow_binary64_2196 sum-log_binary64_2215 pow-exp_binary64_2192 distribute-lft-out_binary64_2075 sqr-pow_binary64_2096 unpow2_binary64_2189 associate--l+_binary64_2061 pow-to-exp_binary64_2193 flip3-+_binary64_2127 difference-of-sqr-1_binary64_2094 flip-+_binary64_2098
Counts
4 → 94
Calls

4 calls:

23.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
20.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
18.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
10.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series587.0ms (7.4%)

Counts
4 → 12
Calls

4 calls:

255.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
147.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
100.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
85.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))

simplify123.0ms (1.6%)

Algorithm
egg-herbie
Counts
106 → 106
Iterations

Useful iterations: 0 (75.0ms)

IterNodesCost
049292189
149292189

prune287.0ms (3.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1033106
Fresh000
Picked101
Done000
Total1043107

Merged error: 0.0b

Counts
107 → 3
Compiler

Compiled 3822 to 1952 computations (48.9% saved)

localize46.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 2 (*.f64 (*.f64 b b) (*.f64 a a)))
0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.7b
(*.f64 (*.f64 b b) (+.f64 3 a))
2.9b
(*.f64 (*.f64 b b) (*.f64 a a))

rewrite114.0ms (1.4%)

Algorithm
rewrite-expression-head
Rules
60×pow1_binary64_2185
44×add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
33×pow-prod-down_binary64_2195
27×prod-exp_binary64_2173 cbrt-unprod_binary64_2157
14×add-sqr-sqrt_binary64_2146 *-un-lft-identity_binary64_2124
12×associate-*r*_binary64_2064
add-cube-cbrt_binary64_2159
cancel-sign-sub-inv_binary64_2090 associate-*l*_binary64_2065
distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073
pow-prod-up_binary64_2194 *-commutative_binary64_2055 add-log-exp_binary64_2163 pow-plus_binary64_2187 associate-*r/_binary64_2066
unswap-sqr_binary64_2092
difference-of-squares_binary64_2093 sub-neg_binary64_2117 pow2_binary64_2205 pow-sqr_binary64_2097
flip--_binary64_2099 flip3--_binary64_2128 distribute-lft-out--_binary64_2076 distribute-lft-out_binary64_2075 flip3-+_binary64_2127 flip-+_binary64_2098
Counts
4 → 112
Calls

4 calls:

27.0ms
(*.f64 2 (*.f64 (*.f64 b b) (*.f64 a a)))
20.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
19.0ms
(*.f64 (*.f64 b b) (*.f64 a a))
18.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))

series409.0ms (5.2%)

Counts
4 → 12
Calls

4 calls:

128.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
98.0ms
(*.f64 2 (*.f64 (*.f64 b b) (*.f64 a a)))
93.0ms
(*.f64 (*.f64 b b) (*.f64 a a))
90.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))

simplify134.0ms (1.7%)

Algorithm
egg-herbie
Counts
124 → 124
Iterations

Useful iterations: 0 (94.0ms)

IterNodesCost
049571350
149571350

prune409.0ms (5.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1240124
Fresh022
Picked011
Done000
Total1243127

Merged error: 0.0b

Counts
127 → 3
Compiler

Compiled 4987 to 2872 computations (42.4% saved)

localize33.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (*.f64 a a) (pow.f64 a 3))
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 -1 (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 3 a)) (-.f64 (*.f64 a a) (pow.f64 a 3))))))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.7b
(*.f64 (*.f64 b b) (+.f64 3 a))

rewrite85.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary64_2146 *-un-lft-identity_binary64_2124
12×cancel-sign-sub-inv_binary64_2090
11×add-log-exp_binary64_2163
10×pow1_binary64_2185 add-cube-cbrt_binary64_2159 add-exp-log_binary64_2162
add-cbrt-cube_binary64_2160
unpow-prod-down_binary64_2203
difference-of-squares_binary64_2093 cube-prod_binary64_2152 associate-*r*_binary64_2064
pow-prod-down_binary64_2195 pow-unpow_binary64_2201 sum-log_binary64_2215 prod-exp_binary64_2173 sqr-pow_binary64_2096 cbrt-unprod_binary64_2157
unpow3_binary64_2190 cube-mult_binary64_2154 distribute-lft-out_binary64_2075 associate-*r/_binary64_2066 flip3-+_binary64_2127 flip-+_binary64_2098
flip--_binary64_2099 flip3--_binary64_2128 unswap-sqr_binary64_2092 pow-pow_binary64_2196 distribute-lft-out--_binary64_2076 pow-exp_binary64_2192 *-commutative_binary64_2055 diff-log_binary64_2216 associate-+r+_binary64_2056 associate-*l*_binary64_2065 +-commutative_binary64_2054 unpow2_binary64_2189 distribute-rgt-out--_binary64_2078 distribute-rgt-in_binary64_2074 sub-neg_binary64_2117 pow-to-exp_binary64_2193 distribute-lft-in_binary64_2073
Counts
4 → 85
Calls

4 calls:

23.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 -1 (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 3 a)) (-.f64 (*.f64 a a) (pow.f64 a 3))))))
18.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
15.0ms
(-.f64 (*.f64 a a) (pow.f64 a 3))
10.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series637.0ms (8.1%)

Counts
4 → 12
Calls

4 calls:

264.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 -1 (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 3 a)) (-.f64 (*.f64 a a) (pow.f64 a 3))))))
177.0ms
(-.f64 (*.f64 a a) (pow.f64 a 3))
98.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
98.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

simplify150.0ms (1.9%)

Algorithm
egg-herbie
Counts
97 → 97
Iterations

Useful iterations: 0 (110.0ms)

IterNodesCost
049601840
149601840

prune239.0ms (3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New96197
Fresh101
Picked101
Done011
Total982100

Merged error: 0.0b

Counts
100 → 2
Compiler

Compiled 3369 to 1713 computations (49.2% saved)

localize42.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2)
0.3b
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2)
0.7b
(*.f64 (*.f64 b b) (+.f64 3 a))
0.7b
(*.f64 (*.f64 b b) (+.f64 3 a))

rewrite85.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
16×pow1_binary64_2185 add-exp-log_binary64_2162
14×*-un-lft-identity_binary64_2124 add-cbrt-cube_binary64_2160
12×add-sqr-sqrt_binary64_2146
10×add-cube-cbrt_binary64_2159
associate-*r*_binary64_2064
pow-prod-down_binary64_2195 pow-unpow_binary64_2201 unpow-prod-down_binary64_2203 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
add-log-exp_binary64_2163 associate-*r/_binary64_2066
unswap-sqr_binary64_2092 pow-pow_binary64_2196 pow-exp_binary64_2192 *-commutative_binary64_2055 distribute-lft-out_binary64_2075 associate-*l*_binary64_2065 sqr-pow_binary64_2096 unpow2_binary64_2189 distribute-rgt-in_binary64_2074 pow-to-exp_binary64_2193 flip3-+_binary64_2127 flip-+_binary64_2098 distribute-lft-in_binary64_2073
Counts
4 → 84
Calls

4 calls:

18.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
18.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
11.0ms
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2)
10.0ms
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2)

series358.0ms (4.5%)

Counts
4 → 12
Calls

4 calls:

101.0ms
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2)
89.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
88.0ms
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2)
79.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))

simplify122.0ms (1.5%)

Algorithm
egg-herbie
Counts
96 → 96
Iterations

Useful iterations: 0 (89.0ms)

IterNodesCost
051341300

prune423.0ms (5.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New96096
Fresh000
Picked011
Done011
Total96298

Merged error: 0.0b

Counts
98 → 2
Compiler

Compiled 6266 to 3220 computations (48.6% saved)

regimes487.0ms (6.2%)

Compiler

Compiled 4194 to 2658 computations (36.6% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
05452
15452

end0.0ms (0%)

sample2.3s (28.7%)

Algorithm
intervals
Results
966.0ms8000×body128valid
1.0ms11×body128invalid
Compiler

Compiled 764 to 492 computations (35.6% saved)

Profiling

Loading profile data...