open System let x = 384 let y = 284 let xx = int64 x let yy = int64 y let rec gcd a b = match a with | _ when a > b -> gcd b a | 0 -> b | _ -> gcd (b%a) a let z = gcd x y //z |> printfn "%d" let rec gcdl (a:int64) (b:int64) :int64 = match a with | _ when a > b -> gcdl b a | 0L -> b | _ -> gcdl (b%a) a let zz = gcdl xx yy //zz |> printfn "%d" printfn "0"