jeff quadratic root 1

Time bar (total: 11.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze135.0ms (1.2%)

Memory
-12.0MiB live, 51.8MiB 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
12.5%12.5%87.4%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
47.5%44.5%49.1%0.1%0%6.2%0%8
54.7%49.9%41.3%0.1%0%8.6%0%9
61%52.9%33.7%0.1%0%13.3%0%10
67.4%57.8%28%0.1%0%14%0%11
72.5%60.5%23%0.1%0%16.4%0%12
Compiler

Compiled 40 to 22 computations (45% saved)

sample38.0ms (0.3%)

Memory
-0.1MiB live, 14.7MiB allocated
Samples
24.0ms260×0valid
3.0ms29×0invalid
Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 7.0ms (34.8% of total)
ival-div: 3.0ms (14.9% of total)
ival-sub: 3.0ms (14.9% of total)
ival-sqrt: 2.0ms (10% of total)
ival-add: 1.0ms (5% of total)
ival-if: 1.0ms (5% of total)
ival->=: 1.0ms (5% of total)
ival-neg: 1.0ms (5% 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 (95.8%)

Memory
79.9MiB live, 6 277.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1030-0-(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))
710-0-(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
600-0-(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
90-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))
80-0-(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))
70-2(1.8890539404016058e-178 1.2728971316116558e-52 1.1574115250869447e-196)(/.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)))))
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-#s(literal 4 binary64)
00-0-(if (>=.f64 b #s(literal 0 binary64)) (/.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)) (/.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))))))
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-rescue980
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))overflow98
(*.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))))cancellation710
+.f64(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))cancellation600
/.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/n90
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))underflow21
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow5
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow33
(*.f64 b b)underflow43
-.f64(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))nan-rescue80
(*.f64 b b)overflow85
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow27
sqrt.f64(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))uflow-rescue50
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow5
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow33
(*.f64 b b)underflow43
/.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/u50
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow5
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))underflow17
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow33
(*.f64 b b)underflow43
Confusion
Predicted +Predicted -
+800
-10274
Precision
0.43956043956043955
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+8000
-102074
Precision?
0.43956043956043955
Recall?
1.0
Freqs
test
numberfreq
074
1116
258
38
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
53.61572265625
Average Time
0.20943641662597656
Samples
1.7s8 370×1valid
1.6s5 670×2valid
907.0ms7 920×0valid
402.0ms1 080×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: 619.0ms (19.9% of total)
adjust: 541.0ms (17.4% of total)
ival-div: 520.0ms (16.7% of total)
ival-sub: 456.0ms (14.7% of total)
ival-sqrt: 355.0ms (11.4% of total)
ival-add: 206.0ms (6.6% of total)
ival-if: 185.0ms (5.9% of total)
ival-neg: 97.0ms (3.1% of total)
ival->=: 66.0ms (2.1% of total)
exact: 34.0ms (1.1% of total)
ival-true: 22.0ms (0.7% of total)
ival-assert: 9.0ms (0.3% of total)

preprocess295.0ms (2.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
078355
1222336
2682336
31829329
44477329
56177329
66905329
77179329
87230329
97252329
107392329
117683329
127721329
137721329
02038
03338
15737
212837
327936
447236
584736
6170636
7226336
8263636
9288936
10291436
11292336
12297036
13312636
14316236
15320536
16320936
17320936
0320934
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(if (>=.f64 b #s(literal 0 binary64)) (/.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)) (/.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))))))
Outputs
(if (>=.f64 b #s(literal 0 binary64)) (/.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)) (/.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))))))
(if (>=.f64 b #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) a) (+.f64 (sqrt.f64 (fma.f64 (*.f64 #s(literal -4 binary64) c) a (*.f64 b b))) b)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.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.0MiB live, 0.0MiB 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
70.3%
(if (>=.f64 b #s(literal 0 binary64)) (/.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)) (/.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))))))
Compiler

Compiled 76 to 40 computations (47.4% saved)

simplify24.0ms (0.2%)

Memory
0.6MiB 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 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)) (/.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))))))
Outputs
(if (>=.f64 b #s(literal 0 binary64)) (/.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)) (/.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))))))
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a #s(literal 4 binary64))))) b) (*.f64 (neg.f64 a) #s(literal 2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a #s(literal 4 binary64))))) b)))

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