関数を定義するときに、引数と戻り値それぞれの名前がかぶっちゃダメなんじゃないかな。 OUTの後にあるXを別の名前にしてみては。 OUT使ってるからRETURNは要らないはずです。