https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85466
--- Comment #17 from Daniel Elliott <cpphackster at gmail dot com> --- my previous comment above meant to say this.... (change from float to int) Interestingly for the gcc case, if I return float from the when_greater_than function (which is just doing x > y ? 1: 0; then it matches gcc ifStandard speed exactly but if I return an >>>>> int <<<<<< then goes down to the ~191000 ns speed shown above. But still not as fast as both clang cases.