Кстати не описано что делать, если (A)Z<0 и B(Z)>0.
Смотрим на Line # 23762.

2DogEater. В этом случае ты записал 0, хотя (A)Z = -0.0001 (т.е. больше похоже на 0), и в этом случае нужно писать 1 из B.