%%HP: T(1)A(G)F(,);
 GRAD "Xa Ya Xb Yb"
"" INPUT OBJ 'Yb'
STO 'Xb' STO 'Ya' STO
'Xa' STO 'Xb-Xa' 'X'
STO 'Yb-Ya' 'Y' STO
'(X^2,+Y^2,)' NUM
"Dis" TAG 'ATAN(X/
Y)' NUM '.' STO
  CASE X 0, >
    THEN
      IF Y 0, >
      THEN '.' NUM
"" TAG
      ELSE '200,+.'
NUM "" TAG
      END
    END X 0, <
    THEN
      IF Y 0, >
      THEN '400,+.'
NUM "" TAG
      ELSE '200,+.'
NUM "" TAG
      END
    END
  END { Xb Yb X Y
. Xa Ya } PURGE
