let mixfix str1 pp1 str2 pp2 str3 pp3 str4 fmt (a, b, c) =
  let opname str1 str2 str3 str4 =  str1 ^ "__" ^ str2 ^ "__" ^ str3 ^ "__" ^ str4 in
  match !flag with
    | Sexpr -> sexpr3 pp1 pp2 pp3 fmt (opname str1 str2 str3 str4, a, b, c)
    | _ ->
        string fmt str1; pp1 fmt a; 
        string fmt str2; pp2 fmt b; 
        string fmt str3; pp3 fmt c; 
        string fmt str4