У вас порядок проверок нарушен.
Сначала надо проверить, что знаменатель не ноль, а только потом, что вся дробь неотрицательна.
Для проверки, что логарифм не берется из отрицательного числа надо проверить именно это (что выражение под логарифмом >=0). Вы же почему-то проверяете, что оно равно нулю.
И еще у вас выражение неправильно считается. Надо скобки расставить. (sqrt(X - 5 / X * X - 9) подсчитает корень из x минус 5, деленное на x^x, минус 9 - 3 слагаемых, из которых только второе дробь.
Итого вам надо:
- переставить местами условия, чтобы деление на 0 было первым.
- исправить условие на логарифм из отрицательного числа
- расставить скобки в выражении.