let print_il0expr = function
| ILexpCoerce(typ,id) -> "("^(print_c_type typ)^")"^(print_tempid id)
| ILexpConstant(c) -> (print_c_constants c)
| ILexpBinop( o, e1, e2 ) ->
"("^(print_tempid e1)^" "^(print_binary_operator o)^" "^(print_tempid e2)^")"
| ILexpUnaryop( o, e ) ->
"("^(print_unary_operator o)^" "^(print_tempid e)^")"
| ILexpInvoke(e,l) ->
print_il0lv e [] ^ "(" ^ String.concat ", " (List.map print_tempid l) ^ ")"
| ILexpAddress(lv, fs) ->
"&(" ^ print_il0lv lv fs ^ ")"
| ILexpIdent(id) ->
print_tempid id
| ILexpArgument(n) ->
"$A" ^ string_of_int n