Я получаю, с независимой реализацией, что два теста должны дать (до приведения к NSInteger) ~ 11,87 и ~ 0,17. Таким образом, метод должен возвращать 11 и 0, как утверждает спрашивающий.
NSInteger x, y;
float a, b;
x = 41; y = 22;
a = 0.61f; b = -2.85f;
NSLog(@"result ", fabs(-a*x + y - b) / sqrt(a * a + 1));
показывает, что кишки метода верны.
Правильны ли ваши инициализаторы?