Historical mrand48/jrand48 source controls requested by the sibling agent
======================================================================

Do not substitute today's implementation for the historical source.

Original GNU libc 2.0.6:
https://ftp.gnu.org/gnu/libc/glibc-2.0.6.tar.gz
Its jrand48_r.c computes, for 16-bit unsigned shorts:
  magnitude = (high16 & 0x7fff) | middle16
  result = bit47 ? -magnitude : magnitude
There is no <<16. Thus the possible magnitude is at most 65535.
mrand48_r delegates to this routine. This literal historical behavior is
not conventional extraction of the state's most significant 32 bits.

Original GNU libc 2.1.1 (GNU archive listing dated 25 May 1999):
https://ftp.gnu.org/gnu/libc/glibc-2.1.1.tar.gz
Its jrand48_r.c restores the <<16 but still uses sign-magnitude:
  magnitude = ((high16 & 0x7fff) << 16) | middle16
  result = bit47 ? -magnitude : magnitude
Converting this result to uint32 is not the raw top32 state value for
general negative results. This is the implementation actually tested;
no historical source was silently corrected to modern behavior.

Exact source statements and the original drand48_data structure were
compiled in the freestanding i386 harness at O0 and O2, with identical
results. Each release was exercised for 16 iterations starting from each
of eight explicitly supplied public states: 0, 1, 2, all48ones,
0x1234abcd330e, 0x330e, 0xdeadbeef330e and 0x800000000000.
Both jrand48_r and mrand48_r agree on all128 cases per release. The saved
records preserve post-state48, signed result and uint32 conversion.
The conventional top32 expression differs in127/128 cases for2.0.6 and
67/128 cases for2.1.1. These controls validate the historical formulas,
not the conventional top32 model.

Files:
  mrand-controls-2.0.6.json / mrand-controls-2.1.1.json
  mrand-source-receipt.json / mrand-source-2.1.1-receipt.json
  control-mrand-2.0.6.c / control-mrand-2.1.1.c
  check_mrand_controls.py (version argument: 2.0.6 or 2.1.1)

These are explicit-state positive controls, not a seed search. Source
archive and member hashes are in the receipts. Original implementation
dates and behavior are recorded; no claim of a newly discovered bug,
security weakness, or SEC author attribution is made. In particular,
these GNU libc routines do not establish the behavior of the different
HP-UX/SVR4 library implementations selected by GMP's platform branches.
Any target exclusion using these records belongs to the sibling proof.
