Details

Time bar (total: 8.1s)

analyze1.0s (12.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
0%99.9%0.1%5
12.5%87.4%0.1%6
20.3%73.3%6.4%7
27.3%66.3%6.4%8
38.2%53%8.7%9
46%40.6%13.4%10
49.9%35.1%15%11
54.9%26.9%18.1%12
57.4%22%20.6%13
59.7%18%22.4%14
Compiler

Compiled 42 to 27 computations (35.7% saved)

sample43.0ms (0.5%)

Algorithm
intervals
Results
28.0ms256×body128valid
2.0ms22×body128nan
1.0ms14×body128invalid
Compiler

Compiled 86 to 56 computations (34.9% saved)

simplify542.0ms (6.7%)

Algorithm
egg-herbie
Rules
1534×div-sub_binary64
1283×associate-/l*_binary64
1224×distribute-rgt-in_binary64
767×associate-/r*_binary64
744×distribute-lft-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02258
14356
29156
319854
430954
551954
691854
7135654
8150554
9218154
10280654
11281254
12281454
13277654
14280054
15398254
16311854
17312654
18313454
19313454
20314254
21314254
22394454
23293454
24312054
25308654
26309054
27310254
28310654
29310654
30326854
31319654
32332454
33342854
34353254
35363654
36303654
37303654
38305654
39309254
40309454
41309454
42278554

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
20.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
20.3b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
Compiler

Compiled 117 to 75 computations (35.9% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.6b
(-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))
0.9b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b)
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 1530 to 1275 computations (16.7% saved)

rewrite133.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
20.3b
Rules
13×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-log-exp_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
Counts
4 → 59
Calls

4 calls:

6.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b)
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
3.0ms
(-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 2605 to 1530 computations (41.3% saved)

series172.0ms (2.1%)

Error
6.5b
Counts
4 → 60
Calls

4 calls:

42.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
38.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b)
37.0ms
(-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))
28.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 4725 to 3210 computations (32.1% saved)

simplify68.0ms (0.8%)

Algorithm
egg-herbie
Rules
682×associate-*l*_binary64
634×associate-*r*_binary64
634×times-frac_binary64
273×associate-/r*_binary64
253×associate-/l*_binary64
Counts
119 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01322085
13332006
29712003
353642003

prune190.0ms (2.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New781290
Fresh000
Picked101
Done000
Total791291
Error
12.2b
Counts
91 → 12
Alt Table
StatusErrorProgram
25.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))) 3))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
28.0b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (*.f64 b b))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
22.3b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (neg.f64 b) b) (*.f64 2 a)))
31.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
30.3b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))) 3)))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
29.2b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (/.f64 (-.f64 (*.f64 b b) (+.f64 (*.f64 4 (*.f64 c a)) (*.f64 b b))) (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (*.f64 2 a)))
32.8b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 b 6) (pow.f64 (*.f64 4 (*.f64 c a)) 3))) (sqrt.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 (*.f64 c a) (+.f64 (*.f64 4 (*.f64 c a)) (*.f64 b b))))))) b) (*.f64 2 a)))
20.4b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b) (*.f64 2 a)))
20.6b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b) (*.f64 2 a)))
25.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))) 3)) b) (*.f64 2 a)))
20.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
20.4b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
Compiler

Compiled 3573 to 2132 computations (40.3% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

7.1b
(+.f64 b (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
Compiler

Compiled 1530 to 1275 computations (16.7% saved)

rewrite167.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
12.2b
Rules
10×add-sqr-sqrt_binary64
sqrt-prod_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
pow1_binary64
Counts
4 → 56
Calls

4 calls:

5.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
2.0ms
(+.f64 b (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))
Compiler

Compiled 3352 to 1847 computations (44.9% saved)

series188.0ms (2.3%)

Error
6.4b
Counts
4 → 53
Calls

4 calls:

43.0ms
(+.f64 b (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))
33.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
32.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
31.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 5586 to 3635 computations (34.9% saved)

simplify81.0ms (1%)

Algorithm
egg-herbie
Rules
568×times-frac_binary64
477×cancel-sign-sub-inv_binary64
247×*-commutative_binary64
241×associate-/l*_binary64
239×distribute-neg-frac_binary64
Counts
109 → 62
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01301815
13601778
29821763
335391763
450751763

prune112.0ms (1.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New60262
Fresh3811
Picked101
Done000
Total641074
Error
6.4b
Counts
74 → 10
Alt Table
StatusErrorProgram
25.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))) 3))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
22.1b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (*.f64 b 2))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
22.3b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (neg.f64 b) b) (*.f64 2 a)))
31.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
29.2b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (/.f64 (-.f64 (*.f64 b b) (+.f64 (*.f64 4 (*.f64 c a)) (*.f64 b b))) (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (*.f64 2 a)))
32.8b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 b 6) (pow.f64 (*.f64 4 (*.f64 c a)) 3))) (sqrt.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 (*.f64 c a) (+.f64 (*.f64 4 (*.f64 c a)) (*.f64 b b))))))) b) (*.f64 2 a)))
20.4b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b) (*.f64 2 a)))
20.6b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b) (*.f64 2 a)))
25.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))) 3)) b) (*.f64 2 a)))
35.2b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
Compiler

Compiled 3347 to 1976 computations (41% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

13.1b
(-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b)
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 1530 to 1275 computations (16.7% saved)

rewrite153.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
6.4b
Rules
12×add-sqr-sqrt_binary64
sqrt-prod_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
pow1_binary64
Counts
4 → 60
Calls

4 calls:

13.0ms
(-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b)
6.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
Compiler

Compiled 3569 to 1967 computations (44.9% saved)

series180.0ms (2.2%)

Error
6.4b
Counts
4 → 54
Calls

4 calls:

37.0ms
(-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b)
36.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
31.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
30.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))
Compiler

Compiled 5891 to 3839 computations (34.8% saved)

simplify111.0ms (1.4%)

Algorithm
egg-herbie
Rules
677×times-frac_binary64
281×div-sub_binary64
264×associate-/l*_binary64
260×associate-/r*_binary64
245×*-commutative_binary64
Counts
114 → 77
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01472135
13822047
210562044
339842032
448612032
553502032

prune123.0ms (1.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New75277
Fresh369
Picked101
Done000
Total79887
Error
6.4b
Counts
87 → 8
Alt Table
StatusErrorProgram
20.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b) (*.f64 2 a)))
25.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))) 3))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
22.1b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (*.f64 b 2))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
29.0b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (/.f64 (*.f64 c (*.f64 a -4)) (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (*.f64 2 a)))
31.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
22.3b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (neg.f64 b) b) (*.f64 2 a)))
32.8b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 b 6) (pow.f64 (*.f64 4 (*.f64 c a)) 3))) (sqrt.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 (*.f64 c a) (+.f64 (*.f64 4 (*.f64 c a)) (*.f64 b b))))))) b) (*.f64 2 a)))
35.2b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
Compiler

Compiled 3972 to 2359 computations (40.6% saved)

localize38.0ms (0.5%)

Local error

Found 4 expressions with local error:

24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 1530 to 1275 computations (16.7% saved)

rewrite279.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
6.4b
Rules
12×sqrt-prod_binary64
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
sqrt-div_binary64
add-cube-cbrt_binary64
Counts
4 → 60
Calls

4 calls:

5.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 4775 to 2794 computations (41.5% saved)

series208.0ms (2.6%)

Error
6.4b
Counts
4 → 51
Calls

4 calls:

45.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
35.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
35.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
35.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))
Compiler

Compiled 8770 to 5562 computations (36.6% saved)

simplify92.0ms (1.1%)

Algorithm
egg-herbie
Rules
532×times-frac_binary64
490×associate-*l*_binary64
472×associate-*r*_binary64
333×unswap-sqr_binary64
239×distribute-neg-frac_binary64
Counts
111 → 71
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0812012
12211952
26801952
338591952
449521952

prune138.0ms (1.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New70171
Fresh077
Picked101
Done000
Total71879
Error
6.4b
Counts
79 → 8
Alt Table
StatusErrorProgram
25.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))) 3))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
22.1b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (*.f64 b 2))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
29.0b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (/.f64 (*.f64 c (*.f64 a -4)) (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (*.f64 2 a)))
31.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
20.5b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) b) (*.f64 2 a)))
32.8b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 b 6) (pow.f64 (*.f64 4 (*.f64 c a)) 3))) (sqrt.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 (*.f64 c a) (+.f64 (*.f64 4 (*.f64 c a)) (*.f64 b b))))))) b) (*.f64 2 a)))
22.3b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))))) (/.f64 (-.f64 (neg.f64 b) b) (*.f64 2 a)))
35.2b
(if (>=.f64 b 0) (*.f64 -2 (/.f64 c (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) b) (*.f64 2 a)))
Compiler

Compiled 5333 to 3152 computations (40.9% saved)

regimes2.2s (27%)

Accuracy

Total 1.2b remaining (16.8%)

Threshold costs 0b (0%)

Compiler

Compiled 30450 to 19234 computations (36.8% saved)

bsearch86.0ms (1.1%)

Steps
ItersRangePoint
9
9.29811862087418e+117
1.3247104836150403e+126
9.155679788397841e+120
10
-1.7383145377063383e+64
-4.384422854155201e+53
-1.7157042027839432e+64
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
043148
156148
268148
385148
494148
5100148
6102148
7101148

end2.0ms (0%)

Compiler

Compiled 102 to 65 computations (36.3% saved)

sample1.7s (20.6%)

Algorithm
intervals
Results
1.0s8000×body128valid
67.0ms657×body128nan
43.0ms360×body128invalid
Compiler

Compiled 527 to 340 computations (35.5% saved)

Profiling

Loading profile data...