VFPU Denormal Edge Behavior: Minimum Positive Subnormal Results
Record ID: FIND-VFPU-DENORM-001 · Record type: FINDING · Status: MEASURED / REPLICATION WANTED · Evidence class: source-owned real PSP hardware
Scope: PSP-3001, firmware 6.61 with ARK, one deliberate 46-input raw-float corpus. Reproduction confidence: ONE-RUN PRELIMINARY. Novelty posture: N3/N4 candidate pending a current prior-art and release-build reproduction; this is not a first-discovery claim.
Claim
For the smallest positive IEEE-754 subnormal input 0x00000001, the measured PSP VFPU returned 0x00000000 for vsqrt and 0x7f800000 for vrsq. The current Nakagawa helpers matched those raw results for this tested input.
Observation, kept separate from interpretation
| Input bits | Operation | PSP raw result | Interpretation |
|---|---|---|---|
0x00000001 |
vsqrt |
0x00000000 |
positive zero in this measured case |
0x00000001 |
vrsq |
0x7f800000 |
positive infinity in this measured case |
Controls in the source-owned campaign kept the input bits intact through the host call path and ruled out the obvious table-mismatch, missing-table, working-directory, and host FTZ/DAZ explanations. Those controls support measurement validity; they do not expand the input domain.
Evidence and lineage
- Primary hardware evidence: the source-owned 46-input experiment on the PSP-3001/6.61-ARK. Exact private probe/capture material is not published: PRIVATE ACCEPTANCE / PRIVATE EVIDENCE EXISTS.
- Related public synthesis: VFPU Transcendentals and Denormals: A 46-Input Hardware Comparison.
- Implementation comparison: the current public Nakagawa VFPU helpers are at src/rt/recomp.c at the reviewed public-main revision.
- Prior art to survey: PSPAutotests VFPU cases, PSP Developer Wiki/DavidGF VFPU documentation, PPSSPP history/issues, and older PSP reverse-engineering test archives. Absence from that survey will not mean “never documented.”
Implementation consequence
Do not replace these helpers with host sqrtf/1.0f/sqrtf or fast-math transformations merely because ordinary mathematical results look more intuitive. Preserve explicit bit-level tests for the measured edge cases.
Do not infer
- This is not exhaustive proof of
vsqrtorvrsqover all 32-bit inputs. - It is not proof of every VFPU operation, prefix form, exception flag, model, or firmware.
- Nakagawa/PPSSPP agreement is not independent PSP replication.
Replication wanted
Build and run the public source-owned VFPU fixture from the reviewed source tree on a PSP-1000 and PSP-2000 if available, then repeat on a second PSP-3000. Report only the model family, firmware/CFW, operation, input bits, raw output bits, repeat count, and fixture/source identity. Do not submit retail data, keys, saves, device identifiers, or private captures.
Related records
See EXP-VFPU-TRANSCEND-20260805-A (the 46-input campaign), CONFLICT-REAL-HARDWARE-AUTHORITY-001, and the VFPU register-addressing finding.
Last reviewed: 2026-08-11 · Publication safety: public-safe aggregate only; no retail or private artifacts.