Details

Time bar (total: 7.7s)

analyze596.0ms (7.8%)

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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample204.0ms (2.7%)

Algorithm
intervals
Results
13.0ms43×body2048valid
11.0ms166×body128valid
7.0ms27×body1024valid
3.0msbody4096valid
2.0msbody128invalid
2.0ms10×body512valid
1.0ms19×body128nan
0.0msbody256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify148.0ms (1.9%)

Algorithm
egg-herbie
Rules
2079×fma-neg_binary64
1006×fma-def_binary64
919×div-sub_binary64
626×distribute-rgt-in_binary64
435×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
29524
322722
435722
561422
6110322
7137322
8163622
9233022
10318722
11288022
12282722
13289622
14292222
15379722
16482422
17524022

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
33.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
33.0b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
Compiler

Compiled 71 to 46 computations (35.2% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
0.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
21.8b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series509.0ms (6.7%)

Counts
3 → 60
Calls

3 calls:

386.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
72.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
51.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))

rewrite14.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
24×*-un-lft-identity_binary64
15×add-sqr-sqrt_binary64
14×add-cube-cbrt_binary64
12×times-frac_binary64
distribute-lft-out_binary64
Counts
3 → 67
Calls

3 calls:

5.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
3.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

simplify103.0ms (1.3%)

Algorithm
egg-herbie
Rules
820×times-frac_binary64
539×associate-/l*_binary64
458×fma-def_binary64
246×fma-neg_binary64
189×cancel-sign-sub-inv_binary64
Counts
127 → 169
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01883311
15103170
215343008
348403008
449543008

prune191.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New15910169
Fresh000
Picked101
Done000
Total16010170
Error
4.3b
Counts
170 → 10
Alt Table
StatusErrorProgram
32.6b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)))
45.0b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
44.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
34.5b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) a))
57.0b
(*.f64 -1/2 (/.f64 (+.f64 b (neg.f64 b)) a))
39.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
32.5b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a))
33.0b
(*.f64 -1/2 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 1 a)))
44.5b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))
46.9b
(*.f64 -1/2 (*.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
Compiler

Compiled 4744 to 2870 computations (39.5% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a)
0.3b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))
12.6b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series371.0ms (4.8%)

Counts
3 → 28
Calls

3 calls:

205.0ms
(/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a)
144.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))
21.0ms
(sqrt.f64 (*.f64 a (*.f64 c -4)))

rewrite14.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
23×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
12×times-frac_binary64
pow1_binary64
Counts
3 → 66
Calls

3 calls:

4.0ms
(/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a)
3.0ms
(sqrt.f64 (*.f64 a (*.f64 c -4)))
3.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))

simplify98.0ms (1.3%)

Algorithm
egg-herbie
Rules
722×associate-/l*_binary64
598×associate-/r*_binary64
368×associate-*l*_binary64
333×fma-def_binary64
192×associate-*l/_binary64
Counts
94 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01742413
14402262
212932199
349632199
449972199

prune118.0ms (1.5%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1432145
Fresh279
Picked011
Done000
Total14510155
Error
3.1b
Counts
155 → 10
Alt Table
StatusErrorProgram
32.6b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)))
45.0b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
44.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
32.5b
(*.f64 -1/2 (*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) (/.f64 1 a)))
46.9b
(*.f64 -1/2 (*.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
39.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
32.5b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a))
45.1b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4))))) a))
34.5b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) a))
44.5b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))
Compiler

Compiled 4151 to 2647 computations (36.2% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) (/.f64 1 a))
0.3b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))
12.6b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series217.0ms (2.8%)

Counts
1 → 14
Calls

1 calls:

216.0ms
(*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) (/.f64 1 a))

rewrite12.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
13×associate-*r*_binary64
12×*-un-lft-identity_binary64
11×times-frac_binary64
10×add-exp-log_binary64
Counts
1 → 43
Calls

1 calls:

8.0ms
(*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) (/.f64 1 a))

simplify81.0ms (1.1%)

Algorithm
egg-herbie
Rules
585×times-frac_binary64
373×associate-*r*_binary64
361×associate-*l*_binary64
338×associate-/l*_binary64
277×associate-/r*_binary64
Counts
57 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01391680
13671510
210991477
346141475
449471475

prune126.0ms (1.6%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1590159
Fresh088
Picked011
Done011
Total15910169
Error
3.1b
Counts
169 → 10
Alt Table
StatusErrorProgram
32.6b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)))
45.0b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
44.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
32.5b
(*.f64 -1/2 (*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) (/.f64 1 a)))
46.9b
(*.f64 -1/2 (*.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
39.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
32.5b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a))
45.1b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4))))) a))
34.5b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) a))
44.5b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))
Compiler

Compiled 4655 to 3046 computations (34.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)
0.2b
(*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))
0.3b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))
12.6b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series715.0ms (9.3%)

Counts
2 → 20
Calls

2 calls:

474.0ms
(/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)
241.0ms
(*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))

rewrite34.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
50×*-un-lft-identity_binary64
50×add-sqr-sqrt_binary64
46×times-frac_binary64
37×sqrt-prod_binary64
34×add-cube-cbrt_binary64
Counts
2 → 105
Calls

2 calls:

16.0ms
(*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))
5.0ms
(/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)

simplify137.0ms (1.8%)

Algorithm
egg-herbie
Rules
775×times-frac_binary64
668×fma-def_binary64
654×associate-/l*_binary64
366×associate-/r*_binary64
214×associate-/l/_binary64
Counts
125 → 178
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02114809
15054260
214904114
347834114
453054114

prune292.0ms (3.8%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New3160316
Fresh077
Picked011
Done022
Total31610326
Error
3.1b
Counts
326 → 10
Alt Table
StatusErrorProgram
32.6b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a)))
45.0b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
44.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
32.5b
(*.f64 -1/2 (*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) (/.f64 1 a)))
46.9b
(*.f64 -1/2 (*.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
39.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
32.5b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) a))
45.1b
(*.f64 -1/2 (/.f64 (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4))))) a))
34.5b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) a))
44.5b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) a))
Compiler

Compiled 12499 to 8131 computations (34.9% saved)

regimes1.7s (22.8%)

Accuracy

Total 7.5b remaining (72.5%)

Threshold costs 0b (0%)

Counts
111 → 6
Compiler

Compiled 10112 to 7014 computations (30.6% saved)

bsearch147.0ms (1.9%)

Steps
ItersRangePoint
9
5.89436712264605e+54
3.9447224865212797e+62
3.892507664467116e+62
7
4.223826937588207e-185
1.2832745259139112e-183
1.2651552890294784e-183
7
-5.23600730124732e-135
-2.7678995838009516e-136
-5.1898591130371494e-135
8
-5.1506693407233705e-109
-7.0835872038617945e-112
-1.094625315287698e-111
6
-8.979613940424115e-51
-1.1973829779341131e-51
-2.5960673063938545e-51
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
048134
164134
270134
374134
477134
578134
677134

end2.0ms (0%)

Compiler

Compiled 94 to 61 computations (35.1% saved)

sample1.7s (22.6%)

Algorithm
intervals
Results
382.0ms5226×body128valid
368.0ms1114×body2048valid
188.0ms731×body1024valid
165.0ms392×body4096valid
72.0ms354×body512valid
42.0ms670×body128nan
25.0ms388×body128invalid
23.0ms183×body256valid
Compiler

Compiled 315 to 214 computations (32.1% saved)

Profiling

Loading profile data...