Details

Time bar (total: 12.4s)

analyze793.0ms (6.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 43 to 31 computations (27.9% saved)

sample79.0ms (0.6%)

Algorithm
intervals
Results
32.0ms246×body128valid
19.0ms290×pre128true
4.0ms34×body128nan
2.0ms10×body256valid
Compiler

Compiled 66 to 48 computations (27.3% saved)

simplify368.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

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
29.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
29.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)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
29.7b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

series268.0ms (2.2%)

Counts
4 → 76
Calls

4 calls:

151.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
94.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
19.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
3.0ms
(/.f64 1/3 a)

rewrite48.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
48×add-sqr-sqrt_binary64
39×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
19×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 123
Calls

4 calls:

20.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
8.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
4.0ms
(/.f64 1/3 a)
1.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

simplify223.0ms (1.8%)

Algorithm
egg-herbie
Rules
797×fma-def_binary64
340×distribute-rgt-in_binary64
235×cancel-sign-sub-inv_binary64
185×fma-neg_binary64
160×associate-*r*_binary64
Counts
199 → 221
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02835008
16614039
224643848
349113848

prune343.0ms (2.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New21011221
Fresh101
Picked101
Done000
Total21211223
Error
0.1b
Counts
223 → 11
Alt Table
StatusErrorProgram
0.6b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
29.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 (*.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (/.f64 1/3 a))) (cbrt.f64 (/.f64 1/3 a))))
29.8b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 (sqrt.f64 1/3) (*.f64 (cbrt.f64 a) (cbrt.f64 a)))) (/.f64 (sqrt.f64 1/3) (cbrt.f64 a)))
6.2b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
8.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
29.9b
(*.f64 (+.f64 (fma.f64 1 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (neg.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 b)))) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) (*.f64 (sqrt.f64 b) (sqrt.f64 b)))) (/.f64 1/3 a))
29.8b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (*.f64 b b)) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
6.5b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
29.8b
(*.f64 (/.f64 1/3 a) (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
8.5b
(*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16))) (/.f64 1/3 a))
30.8b
(*.f64 (*.f64 (+.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 b)) (-.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 b))) (/.f64 1/3 a))
Compiler

Compiled 6383 to 3729 computations (41.6% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 a (*.f64 c -3) 0)
0.2b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
0.3b
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)

series128.0ms (1%)

Counts
3 → 68
Calls

3 calls:

95.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
19.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
13.0ms
(fma.f64 a (*.f64 c -3) 0)

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64
15×*-un-lft-identity_binary64
13×associate-*r*_binary64
13×add-cube-cbrt_binary64
10×times-frac_binary64
Counts
3 → 64
Calls

3 calls:

9.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
6.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
1.0ms
(fma.f64 a (*.f64 c -3) 0)

simplify145.0ms (1.2%)

Algorithm
egg-herbie
Rules
623×times-frac_binary64
538×associate-/l*_binary64
487×fma-def_binary64
394×associate-/r*_binary64
151×distribute-rgt-in_binary64
Counts
132 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01651963
14141772
213261748
348831748
449611748

prune361.0ms (2.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1558163
Fresh8210
Picked101
Done000
Total16410174
Error
0.0b
Counts
174 → 10
Alt Table
StatusErrorProgram
0.3b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.8b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (sqrt.f64 (/.f64 1/3 a))) (sqrt.f64 (/.f64 1/3 a))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
8.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
1.4b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (*.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (/.f64 1/3 a)))) (cbrt.f64 (/.f64 1/3 a))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
6.5b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (*.f64 (sqrt.f64 1/3) (/.f64 (sqrt.f64 1/3) a))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (fma.f64 (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
1.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (exp.f64 (log.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.6b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.9b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (fma.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
Compiler

Compiled 5521 to 3484 computations (36.9% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))
0.2b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.2b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.2b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

series539.0ms (4.3%)

Counts
2 → 40
Calls

2 calls:

455.0ms
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
83.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

rewrite32.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
51×*-un-lft-identity_binary64
40×times-frac_binary64
30×add-sqr-sqrt_binary64
29×add-cube-cbrt_binary64
15×distribute-lft-neg-in_binary64
Counts
2 → 87
Calls

2 calls:

15.0ms
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
2.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

simplify211.0ms (1.7%)

Algorithm
egg-herbie
Rules
349×fma-def_binary64
320×associate-/r/_binary64
306×div-sub_binary64
243×associate-/l/_binary64
221×fma-neg_binary64
Counts
127 → 173
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02283973
15663858
218783711
346163705
451063705

prune433.0ms (3.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2425247
Fresh729
Picked101
Done000
Total2507257
Error
0b
Counts
257 → 7
Alt Table
StatusErrorProgram
8.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
0.8b
(/.f64 (neg.f64 c) (fma.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.5b
(*.f64 (/.f64 (sqrt.f64 c) 1) (/.f64 (neg.f64 (sqrt.f64 c)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
0.6b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.5b
(/.f64 (neg.f64 c) (fma.f64 (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.7b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) (/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.4b
(/.f64 -1 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c))
Compiler

Compiled 6622 to 3584 computations (45.9% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.2b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
0.2b
(/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c)
0.3b
(/.f64 -1 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c))

series646.0ms (5.2%)

Counts
2 → 40
Calls

2 calls:

493.0ms
(/.f64 -1 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c))
152.0ms
(/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c)

rewrite58.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
108×times-frac_binary64
92×*-un-lft-identity_binary64
60×add-sqr-sqrt_binary64
60×add-cube-cbrt_binary64
19×associate-/r*_binary64
Counts
2 → 119
Calls

2 calls:

18.0ms
(/.f64 -1 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c))
11.0ms
(/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c)

simplify256.0ms (2.1%)

Algorithm
egg-herbie
Rules
786×associate-/l*_binary64
495×associate-/r/_binary64
379×fma-def_binary64
294×associate-/l/_binary64
129×*-commutative_binary64
Counts
159 → 230
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02785665
17005373
222005174
351355174

prune519.0ms (4.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New3040304
Fresh066
Picked011
Done000
Total3047311
Error
0b
Counts
311 → 7
Alt Table
StatusErrorProgram
8.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
0.8b
(/.f64 (neg.f64 c) (fma.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.5b
(*.f64 (/.f64 (sqrt.f64 c) 1) (/.f64 (neg.f64 (sqrt.f64 c)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
0.6b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.5b
(/.f64 (neg.f64 c) (fma.f64 (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.7b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) (/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.4b
(/.f64 -1 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) c))
Compiler

Compiled 8737 to 5225 computations (40.2% saved)

regimes4.3s (34.3%)

Accuracy

Total 0.3b remaining (91.7%)

Threshold costs 0.3b (91.7%)

Counts
317 → 1
Compiler

Compiled 45724 to 30376 computations (33.6% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01526
12326
22726
33026
43126
53126

end1.0ms (0%)

Compiler

Compiled 20 to 14 computations (30% saved)

sample2.6s (20.9%)

Algorithm
intervals
Results
936.0ms7697×body128valid
576.0ms8972×pre128true
111.0ms972×body128nan
75.0ms303×body256valid
Compiler

Compiled 300 to 191 computations (36.3% saved)

Profiling

Loading profile data...