jeff quadratic root 2

Time bar (total: 11.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze133.0ms (1.1%)

Memory
4.5MiB live, 52.0MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
25%25%74.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
34.4%34.3%65.5%0.1%0%0%0%6
40%37.4%56.2%0.1%0%6.2%0%7
44.2%41.3%52.3%0.1%0%6.2%0%8
54.3%49.5%41.7%0.1%0%8.6%0%9
61%52.9%33.7%0.1%0%13.3%0%10
66.9%57.4%28.4%0.1%0%14%0%11
72.5%60.6%22.9%0.1%0%16.4%0%12
Compiler

Compiled 40 to 22 computations (45% saved)

sample37.0ms (0.3%)

Memory
-0.7MiB live, 14.9MiB allocated
Samples
23.0ms260×0valid
3.0ms32×0invalid
Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 7.0ms (36.2% of total)
ival-div: 3.0ms (15.5% of total)
ival-sub: 2.0ms (10.3% of total)
ival-sqrt: 2.0ms (10.3% of total)
ival-add: 1.0ms (5.2% of total)
ival-if: 1.0ms (5.2% of total)
ival->=: 1.0ms (5.2% of total)
ival-neg: 1.0ms (5.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain11.2s (96.8%)

Memory
68.3MiB live, 6 285.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1090-1(4.124893690369239e-207 -8.700126830152484e-178 -5.537107626298895e-118)(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))
570-0-(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
530-0-(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
240-0-(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
110-3(2.844814276832406e-144 -8.216315716611849e+156 1.744960163766911e-11)(/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))))
40-0-(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))
00-0-a
00-0-(*.f64 #s(literal 2 binary64) c)
00-0-(*.f64 b b)
00-0-(*.f64 #s(literal 2 binary64) a)
00-0-c
00-0-(*.f64 #s(literal 4 binary64) a)
00-0-(neg.f64 b)
00-0-(>=.f64 b #s(literal 0 binary64))
00-0-(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
00-0-#s(literal 4 binary64)
00-0-#s(literal 0 binary64)
00-0-(*.f64 (*.f64 #s(literal 4 binary64) a) c)
00-0-#s(literal 2 binary64)
00-0-b
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))oflow-rescue1000
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))overflow100
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow27
(*.f64 b b)overflow85
-.f64(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))cancellation570
+.f64(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))cancellation530
/.f64(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))u/n240
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow8
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))underflow39
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow46
(*.f64 b b)underflow42
/.f64(/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))))n/u80
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))underflow23
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow8
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow46
(*.f64 b b)underflow42
sqrt.f64(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))uflow-rescue80
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow8
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow46
(*.f64 b b)underflow42
-.f64(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))nan-rescue40
(*.f64 b b)overflow85
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow27
Confusion
Predicted +Predicted -
+771
-10969
Precision
0.41397849462365593
Recall
0.9871794871794872
Confusion?
Predicted +Predicted MaybePredicted -
+7701
-109069
Precision?
0.41397849462365593
Recall?
0.9871794871794872
Freqs
test
numberfreq
070
1122
260
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
54.636474609375
Average Time
0.2134237289428711
Samples
1.8s6 210×2valid
1.4s7 290×1valid
891.0ms7 920×0valid
588.0ms1 620×3valid
Compiler

Compiled 21 465 to 3 780 computations (82.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.1s
ival-mult: 607.0ms (19.3% of total)
adjust: 567.0ms (18% of total)
ival-div: 535.0ms (17% of total)
ival-sub: 451.0ms (14.4% of total)
ival-sqrt: 364.0ms (11.6% of total)
ival-add: 209.0ms (6.7% of total)
ival-if: 189.0ms (6% of total)
ival-neg: 89.0ms (2.8% of total)
ival->=: 67.0ms (2.1% of total)
exact: 32.0ms (1% of total)
ival-true: 22.0ms (0.7% of total)
ival-assert: 9.0ms (0.3% of total)

preprocess179.0ms (1.5%)

Memory
-6.6MiB live, 11.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078355
1203336
2538336
31315329
43168329
56376329
67834329
02038
03338
15437
210237
321536
435736
557336
6104136
7210436
8289436
9312336
10321436
11321536
12321536
13325736
14331336
15331736
16331736
0331734
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
Outputs
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
(if (>=.f64 b #s(literal 0 binary64)) (*.f64 #s(literal -2 binary64) (/.f64 c (+.f64 (sqrt.f64 (fma.f64 (*.f64 #s(literal -4 binary64) c) a (*.f64 b b))) b))) (*.f64 (/.f64 #s(literal 1/2 binary64) a) (-.f64 (sqrt.f64 (fma.f64 (*.f64 #s(literal -4 binary64) c) a (*.f64 b b))) b)))
Compiler

Compiled 38 to 20 computations (47.4% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.4%
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
Compiler

Compiled 76 to 40 computations (47.4% saved)

simplify22.0ms (0.2%)

Memory
2.5MiB live, 18.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02038
13537
25937
37937
49437
510737
611237
711537
811637
Stop Event
saturated
Calls
Call 1
Inputs
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
Outputs
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 (neg.f64 c) #s(literal 2 binary64)) (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 a #s(literal 4 binary64)) c))) b)) (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 a #s(literal 4 binary64)) c))) b) (*.f64 a #s(literal 2 binary64))))

soundness0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Stop Event
fuel
Compiler

Compiled 37 to 20 computations (45.9% saved)

preprocess1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 150 to 80 computations (46.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...