libm: code instead of branch