Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, D

Time bar (total: 4.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze406.0ms (9.8%)

Memory
2.1MiB live, 145.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
0%0%99.7%0.3%0%0%0%1
0%0%99.7%0.3%0%0%0%2
0%0%99.7%0.3%0%0%0%3
50%49.9%49.9%0.3%0%0%0%4
50%49.9%49.9%0.3%0%0%0%5
50%49.9%49.9%0.3%0%0%0%6
50%49.9%49.9%0.3%0%0%0%7
50%49.9%49.9%0.3%0%0%0%8
50%49.9%49.9%0.3%0%0%0%9
50%49.9%49.9%0.3%0%0%0%10
50%49.9%49.9%0.3%0%0%0%11
50%49.9%49.9%0.3%0%0%0%12
Compiler

Compiled 39 to 32 computations (17.9% saved)

sample60.0ms (1.4%)

Memory
6.6MiB live, 21.9MiB allocated
Samples
47.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 37.0ms
const: 16.0ms (42.9% of total)
ival-mult: 11.0ms (29.5% of total)
ival-add: 9.0ms (24.1% of total)
ival-div: 1.0ms (2.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain3.4s (81.7%)

Memory
8.5MiB live, 2 529.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1120-0-(/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64)))
140-0-(*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b))
10-0-(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))
00-0-(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z)
00-0-(*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z)
00-0-#s(literal 314690115749/10000000000 binary64)
00-0-a
00-0-(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z)
00-0-t
00-0-(+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64))
00-0-(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z)
00-0-(+.f64 z #s(literal 15234687407/1000000000 binary64))
00-0-y
00-0-#s(literal 119400905721/10000000000 binary64)
00-0-#s(literal 607771387771/1000000000000 binary64)
00-0-#s(literal 15234687407/1000000000 binary64)
00-0-(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64))
00-0-(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))))
00-0-(+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t)
00-0-z
00-0-(+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64))
00-0-(*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z)
00-0-#s(literal 313060547623/100000000000 binary64)
00-0-(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a)
00-0-(*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z)
00-0-#s(literal 55833770631/5000000000 binary64)
00-0-(*.f64 z #s(literal 313060547623/100000000000 binary64))
00-0-b
00-0-(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64)))o/o540
(+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t)overflow65
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z)overflow113
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a)overflow94
(*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z)overflow65
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z)overflow94
(*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b))overflow130
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)overflow113
(*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z)overflow89
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z)overflow105
(*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z)overflow65
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64))overflow89
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))overflow105
(+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64))overflow65
*.f64(*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b))n*o140
/.f64(/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64)))o/n70
(+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t)overflow65
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z)overflow113
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a)overflow94
(*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z)overflow65
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z)overflow94
(*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b))overflow130
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)overflow113
/.f64(/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64)))n/o40
(*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z)overflow89
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z)overflow105
(*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z)overflow65
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64))overflow89
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))overflow105
(+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64))overflow65
+.f64(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))cancellation10
Confusion
Predicted +Predicted -
+7641
-0139
Precision
1.0
Recall
0.6495726495726496
Confusion?
Predicted +Predicted MaybePredicted -
+76041
-00139
Precision?
1.0
Recall?
0.6495726495726496
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0180
172
24
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
17.849609375
Average Time
0.06972503662109375
Samples
624.0ms3 072×0valid
Compiler

Compiled 9 324 to 1 464 computations (84.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 452.0ms
const: 190.0ms (42.1% of total)
ival-mult: 131.0ms (29% of total)
ival-add: 109.0ms (24.1% of total)
ival-div: 17.0ms (3.8% of total)
ival-true: 2.0ms (0.4% of total)
adjust: 1.0ms (0.2% of total)
ival-assert: 1.0ms (0.2% of total)

preprocess261.0ms (6.3%)

Memory
4.5MiB live, 54.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02321023
16171003
215171003
35488999
03037
04837
17337
213337
338237
4104337
5287537
6443437
7522937
8551437
9552237
10552237
11607037
12705337
13753137
14753137
15763437
16763437
0824529
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))))
Outputs
(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))))
(fma.f64 (/.f64 y (fma.f64 (fma.f64 (fma.f64 (+.f64 #s(literal 15234687407/1000000000 binary64) z) z #s(literal 314690115749/10000000000 binary64)) z #s(literal 119400905721/10000000000 binary64)) z #s(literal 607771387771/1000000000000 binary64))) (fma.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 313060547623/100000000000 binary64) z #s(literal 55833770631/5000000000 binary64)) z t) z a) z b) x)
Compiler

Compiled 37 to 30 computations (18.9% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 6 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))))
Compiler

Compiled 74 to 60 computations (18.9% saved)

simplify21.0ms (0.5%)

Memory
-9.2MiB live, 18.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03037
14737
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))))
Outputs
(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))))
(+.f64 (/.f64 (*.f64 (+.f64 b (*.f64 (+.f64 a (*.f64 (+.f64 t (*.f64 (+.f64 #s(literal 55833770631/5000000000 binary64) (*.f64 #s(literal 313060547623/100000000000 binary64) z)) z)) z)) z)) y) (+.f64 #s(literal 607771387771/1000000000000 binary64) (*.f64 (+.f64 #s(literal 119400905721/10000000000 binary64) (*.f64 (+.f64 #s(literal 314690115749/10000000000 binary64) (*.f64 (+.f64 #s(literal 15234687407/1000000000 binary64) z) z)) z)) z))) x)

soundness0.0ms (0%)

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

Compiled 37 to 30 computations (18.9% saved)

preprocess6.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated
Compiler

Compiled 306 to 212 computations (30.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...