D056 - A value check whose every expected answer is zero cannot tell a stub from a success

Status: bug in this project's own work, found under an emulator.

037-math/inverse-trigonometry asserts tan(0) == 0, asin(0) == 0, acos(1) == 0, atan(0) == 0 and atan2(0, 1) == 0. Those are the only exact answers those functions have - asin(1) is pi/2, which no binary format holds exactly - so the check was written entirely out of zeros, and a function returning zero to everything passes all five.

It passed under shadPS4, where the responsiveness verdict says those functions do in fact work. The pass happened to be correct and was not evidence of anything.

This is the failure 007-responsive exists to prevent, committed inside a value check where that section could not see it. The generalisation is worth stating: a check is only as good as the difference between passing and failing it, and a check whose expected values are all the same as a stub's return value has no such difference.

Fixed by requiring that differing inputs produce differing answers, in the same check - the responsiveness argument applied in place rather than in a separate section.

Twenty-seven responsiveness probes were added at the same time, covering everything promoted in D051, so that a failure in 035-libc or 037-math can always be read against whether the function answers at all. Under shadPS4 that turned nine "wrong answer" findings into nine "not implemented" findings, which need entirely different work.