sig   type t   val i2e : int -> Fcl_arith.t   val fd2e : Fcl_var.Fd.t -> Fcl_arith.t   val e2fd : Fcl_arith.t -> Fcl_var.Fd.t   val ( +~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( -~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( *~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( **~ ) : Fcl_arith.t -> int -> Fcl_arith.t   val ( /~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( %~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val abs : Fcl_arith.t -> Fcl_arith.t   val sum : Fcl_arith.t array -> Fcl_arith.t   val sum_fd : Fcl_var.Fd.t array -> Fcl_arith.t   val scalprod : int array -> Fcl_arith.t array -> Fcl_arith.t   val scalprod_fd : int array -> Fcl_var.Fd.t array -> Fcl_arith.t   val prod : Fcl_arith.t array -> Fcl_arith.t   val prod_fd : Fcl_var.Fd.t array -> Fcl_arith.t   val fprint : Pervasives.out_channel -> Fcl_arith.t -> unit   val eval : Fcl_arith.t -> int   val min_of_expr : Fcl_arith.t -> int   val max_of_expr : Fcl_arith.t -> int   val min_max_of_expr : Fcl_arith.t -> int * int   val ( <~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_cstr.t   val ( <=~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_cstr.t   val ( =~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_cstr.t   val ( >=~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_cstr.t   val ( >~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_cstr.t   val ( <>~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_cstr.t   val shift : Fcl_var.Fd.t -> int -> Fcl_var.Fd.t   val ( <~~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( <=~~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( =~~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( >=~~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( >~~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val ( <>~~ ) : Fcl_arith.t -> Fcl_arith.t -> Fcl_arith.t   val get_boolsum_threshold : unit -> int   val set_boolsum_threshold : int -> unit end