anchor.diff:                    Range = 10000,
                     fun (St0) ->
                             St1 = rand:mwc59(St0),
  -                          %% Multiply-and-shift, slightly skewed
  +                          %% Truncated multiplication, slightly skewed
  +                          case
  +                              ((Range * (St1 band ((1 bsl 16)-1))) bsr 16)
  +                              + 1
  +                          of
  +                              R when is_integer(R), 0 < R, R =< Range ->
  +                                  St1
  +                          end
  +                  end
  +          end,
  +          {mwc59,raw_tm}, Iterations,
  +          TMarkUniformRange10000, OverheadUniformRange1000),
  +    _ =
  +        measure_1(
  +          fun (_Mod, _State) ->
  +                  Range = 10000,
  +                  fun (St0) ->
  +                          St1 = rand:mwc59(St0),
  +                          %% Truncated multiplication, slightly skewed
                             case
                                 ((Range * rand:mwc59_value32(St1)) bsr 32)
                                 + 1
  
positive.code:                           end
                    end
            end,
            {mwc59,value32_mas}, Iterations,
            TMarkUniformRange10000, OverheadUniformRange1000),
      _ =
          measure_1(
  
negative.code:                   Range = 10000, % 14 bits
                    fun (St0) ->
                            St1 = rand:mwc59(St0),
                            %% Truncated multiplication, slightly skewed
                            case
                                ( (Range *
                                       (rand:mwc59_value(St1) bsr 14) )
  