method term_atomic = function
    | Tint s | Treal s -> not ( String.length s > 0 && s.[0] = '-' )
    | Tvar _ | Tcall _ | Tprim(_,[]) | Ttrue | Tfalse -> true
    | Tprim(pi,_) -> operator_atomic (self#term_operator pi)
    | Tgetfield _ -> true
    | Tsetfield _ -> true
    | Taccess _ -> true
    | Tupdate _ -> true
    | Tif _ -> false
    | Tlet _ -> false