System.Random.MWC.Distributions:gamma from mwc-random-0.13.3.2

Time bar (total: 3.2s)

analyze12.0ms (0.4%)

Memory
3.9MiB live, 3.9MiB 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
100%49.9%0%0.1%0%49.9%0%4
Compiler

Compiled 30 to 25 computations (16.7% saved)

sample2.6s (81.4%)

Memory
-11.6MiB live, 758.6MiB allocated
Samples
595.0ms8 256×0valid-sollya
530.0ms8 256×0valid-baseline
513.0ms8 256×0valid-rival
Bogosity

preprocess551.0ms (17%)

Memory
11.6MiB live, 27.2MiB allocated
Algorithm
egg-herbie
Rules
4 823×fmm-def
679×unsub-neg
583×sub-neg
323×associate--r-
299×distribute-neg-in
Iterations

Useful iterations: 17 (1.0ms)

IterNodesCost
047509
1151493
2445485
31512481
44440481
56199481
66826481
77018481
87126481
97169481
107718481
117875481
127882481
137882481
147882481
157960481
167976481
177976473
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(+.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 (neg.f64 y) (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) (neg.f64 z)) (log.f64 (neg.f64 z)))))
(neg.f64 (+.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)))))
(neg.f64 (+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 (neg.f64 y) (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)))))
(neg.f64 (+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) (neg.f64 z)) (log.f64 (neg.f64 z))))))
(+.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(+.f64 (*.f64 z #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) (log.f64 x))))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 z (+.f64 (-.f64 #s(literal 1 binary64) y) (log.f64 y))))
Outputs
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 y (+.f64 #s(literal 1 binary64) (-.f64 (log.f64 z) z)) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 y (-.f64 (log.f64 z) z) y))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 y (+.f64 #s(literal 1 binary64) (-.f64 (log.f64 z) z)) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 y (-.f64 (log.f64 z) z) y))
(+.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 (neg.f64 x) #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (*.f64 x #s(literal -1/2 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y (+.f64 #s(literal 1 binary64) (-.f64 (log.f64 z) z)) (*.f64 x #s(literal -1/2 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (fma.f64 y (-.f64 (log.f64 z) z) y))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 (neg.f64 y) (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (neg.f64 y)))
(-.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 #s(literal -1 binary64) (-.f64 z (log.f64 z)))))
(fma.f64 y (+.f64 #s(literal -1 binary64) (-.f64 z (log.f64 z))) (*.f64 x #s(literal 1/2 binary64)))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) (neg.f64 z)) (log.f64 (neg.f64 z)))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) (neg.f64 z)) (log.f64 (neg.f64 z)))))
(fma.f64 y (+.f64 (+.f64 #s(literal 1 binary64) z) (log.f64 (neg.f64 z))) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 z (+.f64 #s(literal 1 binary64) (log.f64 (neg.f64 z))))))
(fma.f64 y (+.f64 #s(literal 1 binary64) (+.f64 z (log.f64 (neg.f64 z)))) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 y (+.f64 z (log.f64 (neg.f64 z))) (fma.f64 x #s(literal 1/2 binary64) y))
(neg.f64 (+.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (neg.f64 y)))
(-.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 #s(literal -1 binary64) (-.f64 z (log.f64 z)))))
(fma.f64 y (+.f64 #s(literal -1 binary64) (-.f64 z (log.f64 z))) (*.f64 x #s(literal 1/2 binary64)))
(neg.f64 (+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 (neg.f64 y) (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)))))
(fma.f64 (neg.f64 x) #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (*.f64 x #s(literal -1/2 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y (+.f64 #s(literal 1 binary64) (-.f64 (log.f64 z) z)) (*.f64 x #s(literal -1/2 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (fma.f64 y (-.f64 (log.f64 z) z) y))
(neg.f64 (+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) (neg.f64 z)) (log.f64 (neg.f64 z))))))
(neg.f64 (fma.f64 x #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) (neg.f64 z)) (log.f64 (neg.f64 z))))))
(-.f64 (*.f64 x #s(literal -1/2 binary64)) (*.f64 y (+.f64 (+.f64 #s(literal 1 binary64) z) (log.f64 (neg.f64 z)))))
(-.f64 (*.f64 x #s(literal -1/2 binary64)) (*.f64 y (+.f64 z (+.f64 #s(literal 1 binary64) (log.f64 (neg.f64 z))))))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 y (-.f64 #s(literal -1 binary64) (+.f64 z (log.f64 (neg.f64 z))))))
(+.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 y #s(literal 1/2 binary64) (*.f64 x (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
(fma.f64 x (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z)) (*.f64 #s(literal 1/2 binary64) y))
(fma.f64 x (+.f64 #s(literal 1 binary64) (-.f64 (log.f64 z) z)) (*.f64 #s(literal 1/2 binary64) y))
(fma.f64 x (-.f64 (log.f64 z) z) (fma.f64 #s(literal 1/2 binary64) y x))
(+.f64 (*.f64 z #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) (log.f64 x))))
(fma.f64 z #s(literal 1/2 binary64) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) (log.f64 x))))
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) (log.f64 x)) (*.f64 #s(literal 1/2 binary64) z))
(fma.f64 #s(literal 1/2 binary64) z (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) (log.f64 x))))
(fma.f64 y (-.f64 (log.f64 x) x) (fma.f64 #s(literal 1/2 binary64) z y))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 z (+.f64 (-.f64 #s(literal 1 binary64) y) (log.f64 y))))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 z (+.f64 (-.f64 #s(literal 1 binary64) y) (log.f64 y))))
(fma.f64 z (+.f64 (-.f64 #s(literal 1 binary64) y) (log.f64 y)) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 z (+.f64 #s(literal 1 binary64) (-.f64 (log.f64 y) y)) (*.f64 x #s(literal 1/2 binary64)))
(fma.f64 z (-.f64 (log.f64 y) y) (fma.f64 x #s(literal 1/2 binary64) z))
Compiler

Compiled 15 to 11 computations (26.7% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0%)

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

Compiled 30 to 22 computations (26.7% saved)

simplify13.0ms (0.4%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
1-exp
*-commutative
sub-neg
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01847
12947
23347
33547
43647
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))
Outputs
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 y (+.f64 (-.f64 #s(literal 1 binary64) z) (log.f64 z))))

soundness0.0ms (0%)

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

Compiled 15 to 11 computations (26.7% saved)

preprocess23.0ms (0.7%)

Memory
1.4MiB live, 32.6MiB allocated
Compiler

Compiled 90 to 64 computations (28.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...