Details

Time bar (total: 10.6s)

analyze654.0ms (6.2%)

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.6s (24.5%)

Results
760.0ms1159×body2048valid
727.0ms5299×body128valid
406.0ms805×body1024valid
274.0ms425×body4096valid
147.0ms1081×body128invalid
123.0ms357×body512valid
52.0ms211×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify349.0ms (3.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
35.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
35.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
35.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize9.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.8b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
21.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series85.0ms (0.8%)

Counts
4 → 100
Calls

4 calls:

42.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
29.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
9.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(*.f64 (*.f64 3 a) c)

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
10×fma-def_binary64
10×add-sqr-sqrt_binary64
10×add-log-exp_binary64
10×pow1_binary64
Counts
4 → 80
Calls

4 calls:

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

simplify122.0ms (1.1%)

Algorithm
egg-herbie
Rules
677×fma-def_binary64
621×fma-neg_binary64
305×cancel-sign-sub-inv_binary64
228×distribute-rgt-neg-in_binary64
197×distribute-lft-neg-in_binary64
Counts
180 → 168
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02012955
15232836
218062732
345182728
449982728
549192728

prune174.0ms (1.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New15810168
Fresh011
Picked101
Done000
Total15911170
Error
9.4b
Counts
170 → 11
Alt Table
StatusErrorProgram
42.6b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
55.6b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
35.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
35.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 3 a) (*.f64 (cbrt.f64 c) (cbrt.f64 c))) (cbrt.f64 c))))) (*.f64 3 a))
33.0b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
47.1b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
36.7b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
35.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a c))))) (*.f64 3 a))
35.9b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (sqrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
55.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
39.3b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
Compiler

Compiled 4580 to 2678 computations (41.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))
1.6b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
7.1b
(/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))
11.2b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series706.0ms (6.7%)

Counts
4 → 42
Calls

4 calls:

321.0ms
(/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))
258.0ms
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
114.0ms
(-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))
14.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))

rewrite49.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
53×*-un-lft-identity_binary64
45×add-cbrt-cube_binary64
45×add-exp-log_binary64
43×add-sqr-sqrt_binary64
33×add-cube-cbrt_binary64
Counts
4 → 162
Calls

4 calls:

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

simplify157.0ms (1.5%)

Algorithm
egg-herbie
Rules
440×times-frac_binary64
424×fma-neg_binary64
347×associate-/l*_binary64
276×associate-/r*_binary64
254×associate-*r*_binary64
Counts
204 → 301
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04088024
110586261
246236255
349416255

prune238.0ms (2.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2965301
Fresh4610
Picked101
Done000
Total30111312
Error
4.2b
Counts
312 → 11
Alt Table
StatusErrorProgram
58.3b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b))) (*.f64 3 a))
36.7b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
37.3b
(*.f64 -1/2 (/.f64 c b))
47.1b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
42.6b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
35.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
35.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a c))))) (*.f64 3 a))
33.0b
(/.f64 (sqrt.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (/.f64 (*.f64 3 a) (sqrt.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))))))
53.3b
(*.f64 -2/3 (/.f64 (*.f64 c b) (*.f64 c a)))
32.9b
(*.f64 1 (/.f64 (/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))) a))
39.3b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
Compiler

Compiled 11916 to 7109 computations (40.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))
1.5b
(/.f64 (/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))) a)
7.1b
(/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))
11.2b
(sqrt.f64 (*.f64 (*.f64 c a) -3))

series697.0ms (6.6%)

Counts
4 → 42
Calls

4 calls:

319.0ms
(/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))
248.0ms
(/.f64 (/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))) a)
115.0ms
(-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))
14.0ms
(sqrt.f64 (*.f64 (*.f64 c a) -3))

rewrite42.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
78×*-un-lft-identity_binary64
66×times-frac_binary64
64×add-sqr-sqrt_binary64
50×add-cube-cbrt_binary64
30×prod-diff_binary64
Counts
4 → 176
Calls

4 calls:

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

simplify183.0ms (1.7%)

Algorithm
egg-herbie
Rules
508×fma-neg_binary64
288×times-frac_binary64
241×associate-/l*_binary64
237×sub-neg_binary64
184×associate-*r*_binary64
Counts
218 → 280
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04098065
110386656
239346153
347196147
449146147

prune241.0ms (2.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2746280
Fresh5510
Picked101
Done000
Total28011291
Error
4.2b
Counts
291 → 11
Alt Table
StatusErrorProgram
33.0b
(*.f64 1 (/.f64 (/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3))) (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)))) b))) a))
47.1b
(*.f64 1 (/.f64 (*.f64 2 (*.f64 1 (/.f64 b -3))) a))
29.7b
(*.f64 1 (*.f64 1 (/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))))
35.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
34.6b
(*.f64 1 (expm1.f64 (log1p.f64 (/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))))))
47.3b
(*.f64 1 (fma.f64 2 (*.f64 1 (/.f64 b (*.f64 a -3))) (*.f64 1/2 (/.f64 c b))))
37.3b
(*.f64 -1/2 (/.f64 c b))
42.6b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
58.3b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b))) (*.f64 3 a))
35.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a c))))) (*.f64 3 a))
47.1b
(*.f64 1 (*.f64 2 (*.f64 1 (/.f64 b (*.f64 a -3)))))
Compiler

Compiled 10830 to 5984 computations (44.7% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))
0.3b
(*.f64 (*.f64 c a) -3)
0.9b
(-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))
11.2b
(sqrt.f64 (*.f64 (*.f64 c a) -3))

series259.0ms (2.4%)

Counts
2 → 38
Calls

2 calls:

254.0ms
(/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))
5.0ms
(*.f64 (*.f64 c a) -3)

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
30×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
18×times-frac_binary64
14×add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 63
Calls

2 calls:

5.0ms
(/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))
4.0ms
(*.f64 (*.f64 c a) -3)

simplify83.0ms (0.8%)

Algorithm
egg-herbie
Rules
625×associate-/l*_binary64
467×associate-/r*_binary64
354×fma-neg_binary64
229×fma-def_binary64
215×associate-*l/_binary64
Counts
101 → 115
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01862398
14552148
215012116
347762112
449602112

prune180.0ms (1.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2142216
Fresh3710
Picked011
Done000
Total21710227
Error
4.2b
Counts
227 → 10
Alt Table
StatusErrorProgram
33.0b
(*.f64 1 (/.f64 (/.f64 (*.f64 c a) (-.f64 (neg.f64 b) (hypot.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3))) (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)))) b))) a))
47.1b
(*.f64 1 (/.f64 (*.f64 2 (*.f64 1 (/.f64 b -3))) a))
29.7b
(*.f64 1 (*.f64 1 (/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b)))))
35.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
34.6b
(*.f64 1 (expm1.f64 (log1p.f64 (/.f64 c (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 (*.f64 c a) -3)) b))))))
47.3b
(*.f64 1 (fma.f64 2 (*.f64 1 (/.f64 b (*.f64 a -3))) (*.f64 1/2 (/.f64 c b))))
35.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a c))))) (*.f64 3 a))
37.3b
(*.f64 1 (*.f64 1 (/.f64 c (*.f64 b -2))))
51.0b
(*.f64 1 (*.f64 1 (/.f64 c (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))
47.1b
(*.f64 1 (*.f64 2 (*.f64 1 (/.f64 b (*.f64 a -3)))))
Compiler

Compiled 7614 to 4625 computations (39.3% saved)

regimes3.5s (32.6%)

Accuracy

Total 4.3b remaining (42.6%)

Threshold costs 0b (0%)

Counts
180 → 3
Compiler

Compiled 21388 to 14922 computations (30.2% saved)

bsearch72.0ms (0.7%)

Steps
ItersRangePoint
5
1.8116479780854882e-99
6.715617076880025e-99
4.913578702369731e-99
10
-4.664788915091569e+159
-1.346939172091467e+144
-8.620998372327297e+152
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
03355
15053
26153
37453
48053
58353
68453
78253

end160.0ms (1.5%)

Compiler

Compiled 262 to 191 computations (27.1% saved)

Profiling

Loading profile data...