I know about nothing about PyPy internals but case float_abs(_): - return float + return float.with_range(low=0, high=None) to me, looks like a risky change. I would fear this could introduce a bug when computing isNaN(abs(NaN)) That should return true, but with that change, I fear it could return false because it informs the optimizer that abs never returns a NaN.
EDIT: Ah, other comment mentions article was edited.