Details

Time bar (total: 11.7s)

analyze651.0ms (5.6%)

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%74.9%0.1%6
25%68.6%6.4%7
31.2%62.4%6.4%8
36.7%54.6%8.7%9
38.2%48.4%13.4%10
42.7%42.3%15%11
47.8%34.1%18.1%12
49.1%30.3%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.4s (20.4%)

Results
783.0ms5418×body128valid
629.0ms1153×body2048valid
304.0ms724×body1024valid
252.0ms398×body4096valid
144.0ms1110×body128invalid
117.0ms366×body512valid
46.0ms197×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify348.0ms (3%)

Algorithm
egg-herbie
Rules
1968×fma-neg_binary64
1363×fma-def_binary64
898×div-sub_binary64
743×associate-/l*_binary64
567×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26422
313522
420122
533522
655422
792922
8147722
9211522
10259922
11255422
12260222
13267122
14311722
15232722
16237522
17238322
18238922
19239522
20239722
21239722
22258522
23268522
24261922
25263122
26266122
27267722
28270722
29270722
30275122
31285122
32282722
33282722
34263822

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
33.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
33.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
33.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
0.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
24.2b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series191.0ms (1.6%)

Counts
4 → 96
Calls

4 calls:

81.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
56.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
43.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
10.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

rewrite30.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×fma-def_binary64
10×add-cube-cbrt_binary64
10×add-log-exp_binary64
Counts
4 → 90
Calls

4 calls:

13.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
7.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
3.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

simplify126.0ms (1.1%)

Algorithm
egg-herbie
Rules
683×fma-neg_binary64
319×cancel-sign-sub-inv_binary64
242×distribute-rgt-neg-in_binary64
156×associate-*r*_binary64
151×distribute-rgt-neg-out_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02594256
17163931
225283797
347003771
450263771

prune175.0ms (1.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New19611207
Fresh011
Picked101
Done000
Total19712209
Error
8.0b
Counts
209 → 12
Alt Table
StatusErrorProgram
32.2b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
57.0b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
33.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
32.2b
(/.f64 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
46.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
51.5b
(exp.f64 (-.f64 (log.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (log.f64 (*.f64 3 a))))
37.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
33.8b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
46.5b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
46.3b
(*.f64 -2/3 (/.f64 b a))
42.4b
(*.f64 -1/2 (/.f64 c b))
43.4b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
Compiler

Compiled 5805 to 3430 computations (40.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a))
0.2b
(*.f64 c (*.f64 a -3))
0.5b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
15.4b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series666.0ms (5.7%)

Counts
4 → 48
Calls

4 calls:

476.0ms
(/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a))
164.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
20.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))
5.0ms
(*.f64 c (*.f64 a -3))

rewrite33.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
117×times-frac_binary64
95×*-un-lft-identity_binary64
95×add-sqr-sqrt_binary64
69×add-cube-cbrt_binary64
19×associate-/r*_binary64
Counts
4 → 160
Calls

4 calls:

6.0ms
(/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a))
4.0ms
(*.f64 c (*.f64 a -3))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))

simplify188.0ms (1.6%)

Algorithm
egg-herbie
Rules
606×fma-def_binary64
269×cancel-sign-sub-inv_binary64
248×fma-neg_binary64
185×associate-*r*_binary64
178×distribute-rgt-neg-in_binary64
Counts
208 → 291
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03696123
18535496
230425439
347085438
449675438
548895438

prune258.0ms (2.2%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2874291
Fresh3811
Picked101
Done000
Total29112303
Error
4.6b
Counts
303 → 12
Alt Table
StatusErrorProgram
46.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
42.4b
(/.f64 1 (fma.f64 6 (*.f64 (/.f64 b (*.f64 -3 c)) 1) (*.f64 3/2 (/.f64 a b))))
51.5b
(exp.f64 (-.f64 (log.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (log.f64 (*.f64 3 a))))
37.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
33.8b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
32.2b
(/.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (*.f64 a (cbrt.f64 3))))
46.5b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
33.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
42.4b
(*.f64 -1/2 (/.f64 c b))
44.6b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) a)))
43.4b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
46.3b
(/.f64 1 (*.f64 -3/2 (/.f64 a b)))
Compiler

Compiled 9323 to 6121 computations (34.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 a (cbrt.f64 3))
0.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (*.f64 a (cbrt.f64 3)))
0.5b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)
15.4b
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

series649.0ms (5.6%)

Counts
4 → 24
Calls

4 calls:

465.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (*.f64 a (cbrt.f64 3)))
158.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)
22.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
4.0ms
(*.f64 a (cbrt.f64 3))

rewrite26.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
27×add-exp-log_binary64
25×add-sqr-sqrt_binary64
21×*-un-lft-identity_binary64
19×add-cbrt-cube_binary64
17×add-cube-cbrt_binary64
Counts
4 → 105
Calls

4 calls:

9.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (*.f64 a (cbrt.f64 3)))
3.0ms
(*.f64 a (cbrt.f64 3))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)
3.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

simplify192.0ms (1.6%)

Algorithm
egg-herbie
Rules
593×fma-def_binary64
378×fma-neg_binary64
263×cancel-sign-sub-inv_binary64
225×associate-*r*_binary64
200×associate-*l*_binary64
Counts
129 → 172
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02643922
16482672
223832586
345122584
449942584
549982584
648782584

prune300.0ms (2.6%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1720172
Fresh01111
Picked011
Done000
Total17212184
Error
4.6b
Counts
184 → 12
Alt Table
StatusErrorProgram
46.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
42.4b
(/.f64 1 (fma.f64 6 (*.f64 (/.f64 b (*.f64 -3 c)) 1) (*.f64 3/2 (/.f64 a b))))
51.5b
(exp.f64 (-.f64 (log.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (log.f64 (*.f64 3 a))))
37.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
33.8b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
32.2b
(/.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (*.f64 a (cbrt.f64 3))))
46.5b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
33.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
42.4b
(*.f64 -1/2 (/.f64 c b))
44.6b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) a)))
43.4b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
46.3b
(/.f64 1 (*.f64 -3/2 (/.f64 a b)))
Compiler

Compiled 6362 to 4441 computations (30.2% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 3 a) c)
0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
24.2b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series5.0ms (0%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(*.f64 (*.f64 3 a) c)

rewrite5.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*r*_binary64
cbrt-unprod_binary64
Counts
1 → 20
Calls

1 calls:

4.0ms
(*.f64 (*.f64 3 a) c)

simplify75.0ms (0.6%)

Algorithm
egg-herbie
Rules
578×associate-*l*_binary64
477×unswap-sqr_binary64
383×associate-*r*_binary64
351×*-commutative_binary64
334×log-div_binary64
Counts
44 → 28
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045380
199344
2366344
31031344
41241344
51501344
61934344
74036344
84924344
95048344

prune150.0ms (1.3%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1671168
Fresh1910
Picked011
Done011
Total16812180
Error
4.6b
Counts
180 → 12
Alt Table
StatusErrorProgram
43.4b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
46.3b
(/.f64 (/.f64 (*.f64 b -2) 3) a)
46.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
42.4b
(/.f64 1 (fma.f64 6 (*.f64 (/.f64 b (*.f64 -3 c)) 1) (*.f64 3/2 (/.f64 a b))))
51.5b
(exp.f64 (-.f64 (log.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (log.f64 (*.f64 3 a))))
37.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
33.8b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
32.2b
(/.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (*.f64 a (cbrt.f64 3))))
33.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
42.4b
(*.f64 -1/2 (/.f64 c b))
44.6b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) a)))
46.3b
(/.f64 1 (*.f64 -3/2 (/.f64 a b)))
Compiler

Compiled 4372 to 2543 computations (41.8% saved)

regimes4.9s (41.8%)

Accuracy

Total 6.8b remaining (71.1%)

Threshold costs 0b (0%)

Counts
237 → 3
Compiler

Compiled 32157 to 23282 computations (27.6% saved)

bsearch75.0ms (0.6%)

Steps
ItersRangePoint
10
4.4531898587707325e-46
2.4190282902010186e-35
4.458754763303836e-44
1
-1.8788982853712545e+155
-1.2803009199407046e+147
-1.540932896291113e+151
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03177
14873
26673
37373
47673
57773
67673

end228.0ms (2%)

Compiler

Compiled 338 to 235 computations (30.5% saved)

Profiling

Loading profile data...