let reciproc_rat = function 
  Rat r -> if Num.eq_num r (Num.num_of_int 0)
             then failwith ("reciproc_rat : requires a nonzero value as its argument")
             else Rat (Num.div_num (Num.num_of_int 1) r)