let max x y z = max (max x y) z;; max 4 6 7;; let rec pgcd a b = if b = 0 then a else pgcd b (a mod b);; let rec power base exponent = if exponent = 0 then 1 else if exponent < 0 then 1 / power base (-exponent) else base * power base (exponent - 1);; power 10 100;; let rec fib n = if n <= 0 then 0. else if n = 1 then 1. else fib (n-1) +. fib (n-2);; let curry f (x, y) = f x y;; let uncurry f x y = f (x, y);; let module_of_complex re im = sqrt (re ** 2.0 +. im ** 2.0);; let egalite (num1, den1) (num2, den2) = num1 * den2 = num2 * den1;; let rec sequence_term u n = if n = 0 then u else sequence_term (sin u) (n - 1);; let rec u n = match n with | 0 -> 2.0 | _ -> (u (n-1) +. v (n-1))/. 2.0 and v n = match n with | 0 -> 1.0 | _ -> (2.0 *. v (n-1) *. u (n-1))/.(u (n-1) +. v (n-1));; u 50;;