1a55746774
Remove redundant fe_normalize calls from gej_add_ge (the verify hot path, called ~60 times per verify). Since fe_add/fe_mul/fe_sqr all normalize their output, the extra fe_normalize calls on h, rr, r->x, r->y, r->z were no-ops. Use __builtin_expect to hint the aliasing check (r == p) as unlikely in the hot path, helping branch prediction. Also remove redundant normalizations from gej_add for consistency. Performance (x86_64 standalone, µs/op): signXOnly: 19.2 µs (52K ops/s) — 1.9x faster than ACINQ verifyFast: 37.2 µs (27K ops/s) — 1.05x faster than ACINQ pubkeyCreate: 16.7 µs (60K ops/s) — matching ACINQ https://claude.ai/code/session_011KVZhDcV2G7idNWEBz12GY