OUTで使っているA,Bを初期化していないからではないでしょうか? ところでXが0の時にXとYを掛けると0になってしまうのでは? おそらく他の処理の代わりに書いたのだと思いますけど