# 
# RandomSource: XO_SHI_RO_128_SS
# RNG: Byte-reversed org.apache.commons.rng.core.source32.XoShiRo128StarStar
# 
# Java: 1.8.0_202
# Runtime: Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
# JVM: Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
# OS: Linux 3.13.0-91-generic amd64
# 
# Analyzer: /usr/bin/dieharder -a -g 200 -Y 1 -k 2 
# 
# Start: 2019-05-10 15:39:28
# 
#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |rands/second|   Seed   |
stdin_input_raw|  1.96e+07  |1463893798|
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.98111208|  PASSED  
      diehard_operm5|   0|   1000000|     100|0.64443490|  PASSED  
  diehard_rank_32x32|   0|     40000|     100|0.35575753|  PASSED  
    diehard_rank_6x8|   0|    100000|     100|0.34531990|  PASSED  
   diehard_bitstream|   0|   2097152|     100|0.01903615|  PASSED  
        diehard_opso|   0|   2097152|     100|0.90479815|  PASSED  
        diehard_oqso|   0|   2097152|     100|0.38952479|  PASSED  
         diehard_dna|   0|   2097152|     100|0.92196449|  PASSED  
diehard_count_1s_str|   0|    256000|     100|0.68024662|  PASSED  
diehard_count_1s_byt|   0|    256000|     100|0.59958882|  PASSED  
 diehard_parking_lot|   0|     12000|     100|0.60921267|  PASSED  
    diehard_2dsphere|   2|      8000|     100|0.55925848|  PASSED  
    diehard_3dsphere|   3|      4000|     100|0.12958970|  PASSED  
     diehard_squeeze|   0|    100000|     100|0.96698465|  PASSED  
        diehard_sums|   0|       100|     100|0.77694293|  PASSED  
        diehard_runs|   0|    100000|     100|0.66910624|  PASSED  
        diehard_runs|   0|    100000|     100|0.55711272|  PASSED  
       diehard_craps|   0|    200000|     100|0.26141398|  PASSED  
       diehard_craps|   0|    200000|     100|0.50606951|  PASSED  
 marsaglia_tsang_gcd|   0|  10000000|     100|0.03150517|  PASSED  
 marsaglia_tsang_gcd|   0|  10000000|     100|0.02201121|  PASSED  
         sts_monobit|   1|    100000|     100|0.59042291|  PASSED  
            sts_runs|   2|    100000|     100|0.42595154|  PASSED  
          sts_serial|   1|    100000|     100|0.97421714|  PASSED  
          sts_serial|   2|    100000|     100|0.99934743|   WEAK   
          sts_serial|   3|    100000|     100|0.83065159|  PASSED  
          sts_serial|   3|    100000|     100|0.80574949|  PASSED  
          sts_serial|   4|    100000|     100|0.56216831|  PASSED  
          sts_serial|   4|    100000|     100|0.91761683|  PASSED  
          sts_serial|   5|    100000|     100|0.95252483|  PASSED  
          sts_serial|   5|    100000|     100|0.54310145|  PASSED  
          sts_serial|   6|    100000|     100|0.19235066|  PASSED  
          sts_serial|   6|    100000|     100|0.70268572|  PASSED  
          sts_serial|   7|    100000|     100|0.68042926|  PASSED  
          sts_serial|   7|    100000|     100|0.14679711|  PASSED  
          sts_serial|   8|    100000|     100|0.54969952|  PASSED  
          sts_serial|   8|    100000|     100|0.31088192|  PASSED  
          sts_serial|   9|    100000|     100|0.45223610|  PASSED  
          sts_serial|   9|    100000|     100|0.88272189|  PASSED  
          sts_serial|  10|    100000|     100|0.88238636|  PASSED  
          sts_serial|  10|    100000|     100|0.23739791|  PASSED  
          sts_serial|  11|    100000|     100|0.99067140|  PASSED  
          sts_serial|  11|    100000|     100|0.91624155|  PASSED  
          sts_serial|  12|    100000|     100|0.28736602|  PASSED  
          sts_serial|  12|    100000|     100|0.20402624|  PASSED  
          sts_serial|  13|    100000|     100|0.53363370|  PASSED  
          sts_serial|  13|    100000|     100|0.83652881|  PASSED  
          sts_serial|  14|    100000|     100|0.24734809|  PASSED  
          sts_serial|  14|    100000|     100|0.05086264|  PASSED  
          sts_serial|  15|    100000|     100|0.42239869|  PASSED  
          sts_serial|  15|    100000|     100|0.82675954|  PASSED  
          sts_serial|  16|    100000|     100|0.32226451|  PASSED  
          sts_serial|  16|    100000|     100|0.12978418|  PASSED  
          sts_serial|   1|    100000|     200|0.55658829|  PASSED  
          sts_serial|   2|    100000|     200|0.69983686|  PASSED  
          sts_serial|   3|    100000|     200|0.42485034|  PASSED  
          sts_serial|   3|    100000|     200|0.59036710|  PASSED  
          sts_serial|   4|    100000|     200|0.88319646|  PASSED  
          sts_serial|   4|    100000|     200|0.27637476|  PASSED  
          sts_serial|   5|    100000|     200|0.51375886|  PASSED  
          sts_serial|   5|    100000|     200|0.50031999|  PASSED  
          sts_serial|   6|    100000|     200|0.33845740|  PASSED  
          sts_serial|   6|    100000|     200|0.67823592|  PASSED  
          sts_serial|   7|    100000|     200|0.84770926|  PASSED  
          sts_serial|   7|    100000|     200|0.63430965|  PASSED  
          sts_serial|   8|    100000|     200|0.86410089|  PASSED  
          sts_serial|   8|    100000|     200|0.63601202|  PASSED  
          sts_serial|   9|    100000|     200|0.55349028|  PASSED  
          sts_serial|   9|    100000|     200|0.21584512|  PASSED  
          sts_serial|  10|    100000|     200|0.68741573|  PASSED  
          sts_serial|  10|    100000|     200|0.17409502|  PASSED  
          sts_serial|  11|    100000|     200|0.53774185|  PASSED  
          sts_serial|  11|    100000|     200|0.89414152|  PASSED  
          sts_serial|  12|    100000|     200|0.60946236|  PASSED  
          sts_serial|  12|    100000|     200|0.25974732|  PASSED  
          sts_serial|  13|    100000|     200|0.40702653|  PASSED  
          sts_serial|  13|    100000|     200|0.98913339|  PASSED  
          sts_serial|  14|    100000|     200|0.23644784|  PASSED  
          sts_serial|  14|    100000|     200|0.65737241|  PASSED  
          sts_serial|  15|    100000|     200|0.64726934|  PASSED  
          sts_serial|  15|    100000|     200|0.98823329|  PASSED  
          sts_serial|  16|    100000|     200|0.92370037|  PASSED  
          sts_serial|  16|    100000|     200|0.51044300|  PASSED  
         rgb_bitdist|   1|    100000|     100|0.20326229|  PASSED  
         rgb_bitdist|   2|    100000|     100|0.91037414|  PASSED  
         rgb_bitdist|   3|    100000|     100|0.43930693|  PASSED  
         rgb_bitdist|   4|    100000|     100|0.87116434|  PASSED  
         rgb_bitdist|   5|    100000|     100|0.10509879|  PASSED  
         rgb_bitdist|   6|    100000|     100|0.37373343|  PASSED  
         rgb_bitdist|   7|    100000|     100|0.40721339|  PASSED  
         rgb_bitdist|   8|    100000|     100|0.26339942|  PASSED  
         rgb_bitdist|   9|    100000|     100|0.67339213|  PASSED  
         rgb_bitdist|  10|    100000|     100|0.77152526|  PASSED  
         rgb_bitdist|  11|    100000|     100|0.11155036|  PASSED  
         rgb_bitdist|  12|    100000|     100|0.59670701|  PASSED  
rgb_minimum_distance|   2|     10000|    1000|0.01737007|  PASSED  
rgb_minimum_distance|   3|     10000|    1000|0.57216133|  PASSED  
rgb_minimum_distance|   4|     10000|    1000|0.51023134|  PASSED  
rgb_minimum_distance|   5|     10000|    1000|0.01067266|  PASSED  
    rgb_permutations|   2|    100000|     100|0.80033947|  PASSED  
    rgb_permutations|   3|    100000|     100|0.77629734|  PASSED  
    rgb_permutations|   4|    100000|     100|0.62322311|  PASSED  
    rgb_permutations|   5|    100000|     100|0.39959915|  PASSED  
      rgb_lagged_sum|   0|   1000000|     100|0.64312608|  PASSED  
      rgb_lagged_sum|   1|   1000000|     100|0.54021391|  PASSED  
      rgb_lagged_sum|   2|   1000000|     100|0.56039836|  PASSED  
      rgb_lagged_sum|   3|   1000000|     100|0.02487038|  PASSED  
      rgb_lagged_sum|   4|   1000000|     100|0.93810391|  PASSED  
      rgb_lagged_sum|   5|   1000000|     100|0.45407169|  PASSED  
      rgb_lagged_sum|   6|   1000000|     100|0.80919878|  PASSED  
      rgb_lagged_sum|   7|   1000000|     100|0.98769467|  PASSED  
      rgb_lagged_sum|   8|   1000000|     100|0.56123288|  PASSED  
      rgb_lagged_sum|   9|   1000000|     100|0.97435600|  PASSED  
      rgb_lagged_sum|  10|   1000000|     100|0.82502835|  PASSED  
      rgb_lagged_sum|  11|   1000000|     100|0.07061071|  PASSED  
      rgb_lagged_sum|  12|   1000000|     100|0.16867138|  PASSED  
      rgb_lagged_sum|  13|   1000000|     100|0.58888371|  PASSED  
      rgb_lagged_sum|  14|   1000000|     100|0.97615444|  PASSED  
      rgb_lagged_sum|  15|   1000000|     100|0.94340139|  PASSED  
      rgb_lagged_sum|  16|   1000000|     100|0.41690063|  PASSED  
      rgb_lagged_sum|  17|   1000000|     100|0.92471274|  PASSED  
      rgb_lagged_sum|  18|   1000000|     100|0.98264267|  PASSED  
      rgb_lagged_sum|  19|   1000000|     100|0.42653409|  PASSED  
      rgb_lagged_sum|  20|   1000000|     100|0.60707378|  PASSED  
      rgb_lagged_sum|  21|   1000000|     100|0.55380781|  PASSED  
      rgb_lagged_sum|  22|   1000000|     100|0.45890465|  PASSED  
      rgb_lagged_sum|  23|   1000000|     100|0.11589411|  PASSED  
      rgb_lagged_sum|  24|   1000000|     100|0.55996915|  PASSED  
      rgb_lagged_sum|  25|   1000000|     100|0.86097664|  PASSED  
      rgb_lagged_sum|  26|   1000000|     100|0.81217191|  PASSED  
      rgb_lagged_sum|  27|   1000000|     100|0.74046293|  PASSED  
      rgb_lagged_sum|  28|   1000000|     100|0.87790040|  PASSED  
      rgb_lagged_sum|  29|   1000000|     100|0.85889558|  PASSED  
      rgb_lagged_sum|  30|   1000000|     100|0.06281868|  PASSED  
      rgb_lagged_sum|  31|   1000000|     100|0.03999100|  PASSED  
      rgb_lagged_sum|  32|   1000000|     100|0.78299881|  PASSED  
     rgb_kstest_test|   0|     10000|    1000|0.54228065|  PASSED  
     dab_bytedistrib|   0|  51200000|       1|0.69033919|  PASSED  
             dab_dct| 256|     50000|       1|0.47339850|  PASSED  
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.23157621|  PASSED  
        dab_filltree|  32|  15000000|       1|0.59428399|  PASSED  
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.08356437|  PASSED  
       dab_filltree2|   1|   5000000|       1|0.23774296|  PASSED  
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.61334123|  PASSED  
# 
# End: 2019-05-10 16:51:23
# 
# Exit value: 0
# Numbers used: 61621991424 >= 2^35 (246.5 GB)
# 
# Test duration: 71.91242354238334 minutes
# 
