putting back int_cmp and float_cmp with new implementations