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

Time bar (total: 2.9s)

analyze13.0ms (0.5%)

Memory
4.3MiB live, 4.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 27 to 23 computations (14.8% saved)

sample2.5s (84.9%)

Memory
-7.1MiB live, 697.9MiB allocated
Samples
539.0ms8 256×0valid-baseline
534.0ms8 256×0valid-sollya
514.0ms8 256×0valid-rival
Bogosity

preprocess409.0ms (13.9%)

Memory
5.0MiB live, 22.3MiB allocated
Algorithm
egg-herbie
Rules
2 165×fmm-def
414×sub-neg
400×fma-define
263×unsub-neg
238×associate-+l-
Iterations

Useful iterations: 13 (0.0ms)

IterNodesCost
033304
198264
2250236
3786224
42305224
53793224
64333224
74467224
84493224
94497224
104553224
114613224
124637224
134637210
146604210
156604210
166604210
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) #s(literal 1 binary64))) (*.f64 (neg.f64 y) #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(neg.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)))
(neg.f64 (+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) #s(literal 1 binary64))) (*.f64 (neg.f64 y) #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (-.f64 (*.f64 y (-.f64 x #s(literal 1 binary64))) (*.f64 x #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(-.f64 (*.f64 x (+.f64 y #s(literal -1 binary64))) (-.f64 (*.f64 y #s(literal 1/2 binary64)) #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (fma.f64 x (+.f64 y #s(literal -1 binary64)) (*.f64 y #s(literal -1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(fma.f64 x (+.f64 y #s(literal -1 binary64)) (fma.f64 y #s(literal -1/2 binary64) #s(literal 918938533204673/1000000000000000 binary64)))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 y (-.f64 #s(literal 1/2 binary64) x) x))
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(-.f64 (*.f64 x (+.f64 y #s(literal -1 binary64))) (-.f64 (*.f64 y #s(literal 1/2 binary64)) #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (fma.f64 x (+.f64 y #s(literal -1 binary64)) (*.f64 y #s(literal -1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(fma.f64 x (+.f64 y #s(literal -1 binary64)) (fma.f64 y #s(literal -1/2 binary64) #s(literal 918938533204673/1000000000000000 binary64)))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 y (-.f64 #s(literal 1/2 binary64) x) x))
(+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 #s(literal 918938533204673/1000000000000000 binary64) (-.f64 (*.f64 (+.f64 y #s(literal -1 binary64)) (neg.f64 x)) (*.f64 y #s(literal 1/2 binary64))))
(+.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (+.f64 y #s(literal -1 binary64)) (neg.f64 x) (*.f64 y #s(literal -1/2 binary64))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 x (+.f64 y #s(literal -1 binary64)) (*.f64 y #s(literal 1/2 binary64))))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (fma.f64 y #s(literal -1/2 binary64) #s(literal 918938533204673/1000000000000000 binary64)))
(fma.f64 y (-.f64 #s(literal -1/2 binary64) x) (+.f64 x #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) #s(literal 1 binary64))) (*.f64 (neg.f64 y) #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 #s(literal 918938533204673/1000000000000000 binary64) (+.f64 (*.f64 x (+.f64 (neg.f64 y) #s(literal -1 binary64))) (*.f64 y #s(literal 1/2 binary64))))
(+.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 x (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64)) (*.f64 y #s(literal 1/2 binary64))))
(fma.f64 x (-.f64 #s(literal -1 binary64) y) (fma.f64 y #s(literal 1/2 binary64) #s(literal 918938533204673/1000000000000000 binary64)))
(-.f64 (fma.f64 y (-.f64 #s(literal 1/2 binary64) x) #s(literal 918938533204673/1000000000000000 binary64)) x)
(neg.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)))
(neg.f64 (+.f64 #s(literal 918938533204673/1000000000000000 binary64) (-.f64 (*.f64 (+.f64 y #s(literal -1 binary64)) (neg.f64 x)) (*.f64 y #s(literal 1/2 binary64)))))
(-.f64 #s(literal -918938533204673/1000000000000000 binary64) (fma.f64 (+.f64 y #s(literal -1 binary64)) (neg.f64 x) (*.f64 y #s(literal -1/2 binary64))))
(+.f64 (*.f64 x (+.f64 y #s(literal -1 binary64))) (fma.f64 y #s(literal 1/2 binary64) #s(literal -918938533204673/1000000000000000 binary64)))
(fma.f64 x (+.f64 y #s(literal -1 binary64)) (fma.f64 y #s(literal 1/2 binary64) #s(literal -918938533204673/1000000000000000 binary64)))
(fma.f64 y (+.f64 x #s(literal 1/2 binary64)) (-.f64 #s(literal -918938533204673/1000000000000000 binary64) x))
(neg.f64 (+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) #s(literal 1 binary64))) (*.f64 (neg.f64 y) #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (neg.f64 (+.f64 (*.f64 x (+.f64 (neg.f64 y) #s(literal -1 binary64))) (*.f64 y #s(literal 1/2 binary64)))) #s(literal -918938533204673/1000000000000000 binary64))
(-.f64 #s(literal -918938533204673/1000000000000000 binary64) (fma.f64 x (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64)) (*.f64 y #s(literal 1/2 binary64))))
(neg.f64 (fma.f64 x (-.f64 #s(literal -1 binary64) y) (fma.f64 y #s(literal 1/2 binary64) #s(literal 918938533204673/1000000000000000 binary64))))
(fma.f64 x (+.f64 y #s(literal 1 binary64)) (fma.f64 y #s(literal -1/2 binary64) #s(literal -918938533204673/1000000000000000 binary64)))
(-.f64 x (fma.f64 y (-.f64 #s(literal 1/2 binary64) x) #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (-.f64 (*.f64 y (-.f64 x #s(literal 1 binary64))) (*.f64 x #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 #s(literal 918938533204673/1000000000000000 binary64) (-.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 x #s(literal 1/2 binary64))))
(+.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 y (+.f64 x #s(literal -1 binary64)) (*.f64 x #s(literal -1/2 binary64))))
(fma.f64 y (+.f64 x #s(literal -1 binary64)) (fma.f64 x #s(literal -1/2 binary64) #s(literal 918938533204673/1000000000000000 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (fma.f64 y (+.f64 x #s(literal -1 binary64)) #s(literal 918938533204673/1000000000000000 binary64)))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 x (-.f64 #s(literal 1/2 binary64) y) y))
Compiler

Compiled 13 to 10 computations (23.1% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify3.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Rules
10×neg-mul-1
unsub-neg
*-commutative
+-commutative
sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01540
13140
24540
35640
47340
59640
69740
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(+.f64 (-.f64 (*.f64 x (+.f64 y #s(literal -1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))

soundness0.0ms (0%)

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

Compiled 13 to 10 computations (23.1% saved)

preprocess16.0ms (0.6%)

Memory
-9.5MiB live, 21.9MiB allocated
Compiler

Compiled 52 to 40 computations (23.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...