let e_or a b =
    match a,b with
      | Tfalse,c | c,Tfalse -> c
      | Ttrue,_ | _,Ttrue -> Ttrue
      | _ -> Tprim(B_or,[a;b])