GneSourceGarded normal expressions.
They are Ne.t expressions garded by formula (a Bdd.t actually). The interpretation of (e1 -> bdd1 ; ... ; en -> bddn) is that it is equal to ei iff bddi is true. By construction, the set {bddi, i=1,n} ougth to be a partition (namely, exactly one bdd among the bddi is true).
Respectively adds, substracts, multiplies, divides, and computes the modulo, the opposite of garded normal expressions.
make ne bdd b returns the gne containing the expr ne guarded by (bdd_true, b).
fold f gne applies f to every expr in gne.
get_constant gne returns an Value.num iff gne is equal to the degenerated garded normal expression [(i, true)]. This function is useful to get dynamic weigths and default values.