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

Time bar (total: 4.3s)

analyze3.0ms (0.1%)

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 16 to 12 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation ival-log, time spent: 0.0ms, 0.0% of total-time
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.5s (35.3%)

Results
1.3s7164×0valid
183.0ms1091×0infinite
0.0ms0infinite
Precisions
Click to see histograms. Total time spent on operations: 767.0ms
Operation ival-add, time spent: 264.0ms, 34.0% of total-time
Operation ival-log, time spent: 183.0ms, 24.0% of total-time
Operation ival-mult, time spent: 148.0ms, 19.0% of total-time
Operation ival-sub, time spent: 145.0ms, 19.0% of total-time
Operation const, time spent: 26.0ms, 3.0% of total-time
Bogosity

preprocess1.5s (35%)

Algorithm
egg-herbie
Rules
1366×unsub-neg
1094×sub-neg
876×+-commutative
672×neg-sub0
654×distribute-neg-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-y
00-0-(+.f64 (-.f64 1 z) (log.f64 z))
00-0-(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
00-0-(*.f64 x 1/2)
00-0-1/2
00-0-(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
00-0-(-.f64 1 z)
00-0-z
00-0-(log.f64 z)
00-0-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047509
1151493
2447485
31534481
44706481
56668481
67394481
77582481
87644481
97659481
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(+.f64 (*.f64 (neg.f64 x) 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(+.f64 (*.f64 x 1/2) (*.f64 (neg.f64 y) (+.f64 (-.f64 1 z) (log.f64 z))))
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 (neg.f64 z)) (log.f64 (neg.f64 z)))))
(neg.f64 (+.f64 (*.f64 (neg.f64 x) 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))))
(neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 (neg.f64 y) (+.f64 (-.f64 1 z) (log.f64 z)))))
(neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 (neg.f64 z)) (log.f64 (neg.f64 z))))))
(+.f64 (*.f64 y 1/2) (*.f64 x (+.f64 (-.f64 1 z) (log.f64 z))))
(+.f64 (*.f64 z 1/2) (*.f64 y (+.f64 (-.f64 1 x) (log.f64 x))))
(+.f64 (*.f64 x 1/2) (*.f64 z (+.f64 (-.f64 1 y) (log.f64 y))))
Outputs
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 x 1/2 (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 x 1/2 (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
(+.f64 (*.f64 (neg.f64 x) 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 (neg.f64 x) 1/2 (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x -1/2))
(fma.f64 x -1/2 (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(+.f64 (*.f64 x 1/2) (*.f64 (neg.f64 y) (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 x 1/2 (*.f64 (+.f64 (-.f64 1 z) (log.f64 z)) (neg.f64 y)))
(-.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 x 1/2 (*.f64 y (+.f64 -1 (-.f64 z (log.f64 z)))))
(fma.f64 x 1/2 (*.f64 y (+.f64 z (-.f64 -1 (log.f64 z)))))
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 (neg.f64 z)) (log.f64 (neg.f64 z)))))
(fma.f64 x 1/2 (*.f64 y (+.f64 (-.f64 1 (neg.f64 z)) (log.f64 (neg.f64 z)))))
(fma.f64 y (+.f64 (+.f64 1 z) (log.f64 (neg.f64 z))) (*.f64 x 1/2))
(fma.f64 x 1/2 (*.f64 y (+.f64 (+.f64 1 z) (log.f64 (neg.f64 z)))))
(neg.f64 (+.f64 (*.f64 (neg.f64 x) 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))))
(fma.f64 x 1/2 (*.f64 (+.f64 (-.f64 1 z) (log.f64 z)) (neg.f64 y)))
(-.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 x 1/2 (*.f64 y (+.f64 -1 (-.f64 z (log.f64 z)))))
(fma.f64 x 1/2 (*.f64 y (+.f64 z (-.f64 -1 (log.f64 z)))))
(neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 (neg.f64 y) (+.f64 (-.f64 1 z) (log.f64 z)))))
(fma.f64 (neg.f64 x) 1/2 (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x -1/2))
(fma.f64 x -1/2 (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 (neg.f64 z)) (log.f64 (neg.f64 z))))))
(neg.f64 (fma.f64 x 1/2 (*.f64 y (+.f64 (-.f64 1 (neg.f64 z)) (log.f64 (neg.f64 z))))))
(-.f64 (*.f64 x -1/2) (*.f64 y (+.f64 (+.f64 1 z) (log.f64 (neg.f64 z)))))
(fma.f64 y (-.f64 -1 (+.f64 z (log.f64 (neg.f64 z)))) (*.f64 x -1/2))
(fma.f64 y (-.f64 (-.f64 -1 z) (log.f64 (neg.f64 z))) (*.f64 x -1/2))
(+.f64 (*.f64 y 1/2) (*.f64 x (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 y 1/2 (*.f64 x (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 x (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 1/2 y))
(+.f64 (*.f64 z 1/2) (*.f64 y (+.f64 (-.f64 1 x) (log.f64 x))))
(fma.f64 z 1/2 (*.f64 y (+.f64 (-.f64 1 x) (log.f64 x))))
(fma.f64 y (+.f64 (-.f64 1 x) (log.f64 x)) (*.f64 1/2 z))
(fma.f64 1/2 z (*.f64 y (+.f64 (-.f64 1 x) (log.f64 x))))
(fma.f64 1/2 z (*.f64 y (+.f64 1 (-.f64 (log.f64 x) x))))
(+.f64 (*.f64 x 1/2) (*.f64 z (+.f64 (-.f64 1 y) (log.f64 y))))
(fma.f64 x 1/2 (*.f64 z (+.f64 (-.f64 1 y) (log.f64 y))))
(fma.f64 z (+.f64 (-.f64 1 y) (log.f64 y)) (*.f64 x 1/2))
(fma.f64 z (+.f64 1 (-.f64 (log.f64 y) y)) (*.f64 x 1/2))
Compiler

Compiled 101 to 61 computations (39.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0s
Operation ival-sub, time spent: 431.0ms, 42.0% of total-time
Operation ival-log, time spent: 253.0ms, 25.0% of total-time
Operation ival-add, time spent: 198.0ms, 19.0% of total-time
Operation ival-mult, time spent: 114.0ms, 11.0% of total-time
Operation const, time spent: 22.0ms, 2.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 25 to 16 computations (36% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
99.9%
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Compiler

Compiled 29 to 21 computations (27.6% saved)

localize943.0ms (21.7%)

Compiler

Compiled 73 to 40 computations (45.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 771.0ms
Operation ival-mult, time spent: 295.0ms, 38.0% of total-time
Operation ival-sub, time spent: 166.0ms, 22.0% of total-time
Operation ival-add, time spent: 151.0ms, 20.0% of total-time
Operation ival-log, time spent: 122.0ms, 16.0% of total-time
Operation ival-fma, time spent: 20.0ms, 3.0% of total-time
Operation const, time spent: 18.0ms, 2.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune6.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done000
Total022
Accuracy
99.9%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
99.9%
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Compiler

Compiled 55 to 38 computations (30.9% saved)

regimes24.0ms (0.5%)

Counts
2 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
Outputs
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
Calls

7 calls:

5.0ms
z
3.0ms
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
3.0ms
(+.f64 (-.f64 1 z) (log.f64 z))
3.0ms
(*.f64 x 1/2)
3.0ms
(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
Results
AccuracySegmentsBranch
99.9%1x
99.9%1y
99.9%1z
99.9%1(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
99.9%1(*.f64 x 1/2)
99.9%1(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
99.9%1(+.f64 (-.f64 1 z) (log.f64 z))
Compiler

Compiled 53 to 40 computations (24.5% saved)

regimes20.0ms (0.5%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Outputs
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Calls

7 calls:

5.0ms
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
3.0ms
(+.f64 (-.f64 1 z) (log.f64 z))
3.0ms
(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
3.0ms
(*.f64 x 1/2)
2.0ms
z
Results
AccuracySegmentsBranch
99.9%1x
99.9%1y
99.9%1z
99.9%1(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
99.9%1(*.f64 x 1/2)
99.9%1(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
99.9%1(+.f64 (-.f64 1 z) (log.f64 z))
Compiler

Compiled 53 to 40 computations (24.5% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02090
13190
23590
33790
43890
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Outputs
(fma.f64 y (+.f64 (-.f64 1 z) (log.f64 z)) (*.f64 x 1/2))
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Compiler

Compiled 29 to 21 computations (27.6% saved)

soundness239.0ms (5.5%)

Rules
1366×unsub-neg
1094×sub-neg
876×+-commutative
672×neg-sub0
654×distribute-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047509
1151493
2447485
31534481
44706481
56668481
67394481
77582481
87644481
97659481
Stop Event
node limit
Compiler

Compiled 38 to 24 computations (36.8% saved)

end0.0ms (0%)

preprocess45.0ms (1%)

Compiler

Compiled 112 to 76 computations (32.1% saved)

Profiling

Loading profile data...