245212727a
The previous commit replaced ALL uLt calls with uLtInline (XOR trick), which regressed JVM verify from 1.6× to 1.9× vs native C. The XOR trick is slower than Long.compareUnsigned on HotSpot. Fix: uLtInline is used ONLY inside the fused FieldMulPlatform.kt inline functions (which JVM doesn't use — it uses the unfused path). All other code (U256.addTo/subTo, FieldP.add/sub/half, ScalarN, Glv) keeps the expect/actual uLt which uses Long.compareUnsigned on JVM. JVM: verifySchnorrFast 1.3× (restored, improved) Android: uLt overhead remains for non-fused paths (~11K calls/verify) but the fused mul/sqr path (the dominant cost) is fully inlined. https://claude.ai/code/session_01EMY5RnXb9rnsyU2KbXrSaY