Dの未設定パターンには、以下の2つがあるように見えます。 1)タッチしていない時が含まれるとき 2)XX-X==0またはYY-Y==0のとき  (タッチしたまま動かさない時を含む) その他気になる点としてATANの引数の順序が逆のような気がします。 (意図的にそうしているのであれば、すみません。) ついでに、「仮引数(形式的パラメータ)」とは、ユーザ定義命令を作るDEF命令に書く引数のことです。ユーザ定義命令呼び出し(実行)時に指定する引数は、「実引数(実パラメータ)」と言ったりします。 あまり使うことはないと思いますが、IN/OUTで同じ変数を使うときは、仮引数に別の名前をつけて、実引数で同じ変数を使えばIN/OUTとして使えます。