LinearTwoVarEqualityDomain.Rhs
type t = (Goblint_std.GobZ.t * int) option * Goblint_std.GobZ.t * Goblint_std.GobZ.t
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val hash : t -> int
val var_zero : 'a -> (Z.t * 'b) option * Z.t * Z.t
val show_coeff : Z.t -> string
val show_rhs_formatted : ('a -> string) -> ((Z.t * 'b) option * Z.t * 'c) -> string
val show : ((Z.t * int) option * Z.t * Z.t) -> string
val canonicalize : ((Z.t * 'a) option * Z.t * Z.t) -> (Z.t * 'b) option * Z.t * Z.t
factor out gcd from all terms, i.e. ax=by+c with a positive is the canonical form for adx+bdy+cd
val subst : ((Z.t * 'a) option * Z.t * Z.t) -> 'b -> ((Z.t * 'c) option * Z.t * Z.t) -> (Z.t * 'c) option * Z.t * Z.t
Substitute rhs for varx in rhs'