-\begin{code}
-qual_orig_name n = case (origName "qual_orig_name" n) of { OrigName m n -> Qual m n }
-
-a_PN = Unqual SLIT("a")
-b_PN = Unqual SLIT("b")
-c_PN = Unqual SLIT("c")
-d_PN = Unqual SLIT("d")
-ah_PN = Unqual SLIT("a#")
-bh_PN = Unqual SLIT("b#")
-ch_PN = Unqual SLIT("c#")
-dh_PN = Unqual SLIT("d#")
-cmp_eq_PN = Unqual SLIT("cmp_eq")
-rangeSize_PN = Qual iX SLIT("rangeSize")
-
-as_PNs = [ Unqual (_PK_ ("a"++show i)) | i <- [(1::Int) .. ] ]
-bs_PNs = [ Unqual (_PK_ ("b"++show i)) | i <- [(1::Int) .. ] ]
-cs_PNs = [ Unqual (_PK_ ("c"++show i)) | i <- [(1::Int) .. ] ]
-
-eq_PN = preludeQual {-SLIT("Eq")-} SLIT("==")
-ne_PN = preludeQual {-SLIT("Eq")-} SLIT("/=")
-le_PN = preludeQual {-SLIT("Ord")-} SLIT("<=")
-lt_PN = preludeQual {-SLIT("Ord")-} SLIT("<")
-ge_PN = preludeQual {-SLIT("Ord")-} SLIT(">=")
-gt_PN = preludeQual {-SLIT("Ord")-} SLIT(">")
-max_PN = preludeQual {-SLIT("Ord")-} SLIT("max")
-min_PN = preludeQual {-SLIT("Ord")-} SLIT("min")
-compare_PN = preludeQual {-SLIT("Ord")-} SLIT("compare")
-minBound_PN = preludeQual {-SLIT("Bounded")-} SLIT("minBound")
-maxBound_PN = preludeQual {-SLIT("Bounded")-} SLIT("maxBound")
-enumFrom_PN = preludeQual {-SLIT("Enum")-} SLIT("enumFrom")
-enumFromTo_PN = preludeQual {-SLIT("Enum")-} SLIT("enumFromTo")
-enumFromThen_PN = preludeQual {-SLIT("Enum")-} SLIT("enumFromThen")
-enumFromThenTo_PN= preludeQual {-SLIT("Enum")-} SLIT("enumFromThenTo")
-range_PN = Qual iX SLIT("range")
-index_PN = Qual iX SLIT("index")
-inRange_PN = Qual iX SLIT("inRange")
-readsPrec_PN = preludeQual {-SLIT("Read")-} SLIT("readsPrec")
-readList_PN = preludeQual {-SLIT("Read")-} SLIT("readList")
-showsPrec_PN = preludeQual {-SLIT("Show")-} SLIT("showsPrec")
-showList_PN = preludeQual {-SLIT("Show")-} SLIT("showList")
-plus_PN = preludeQual {-SLIT("Num")-} SLIT("+")
-times_PN = preludeQual {-SLIT("Num")-} SLIT("*")
-ltTag_PN = preludeQual SLIT("LT")
-eqTag_PN = preludeQual SLIT("EQ")
-gtTag_PN = preludeQual SLIT("GT")
-
-eqH_Char_PN = prelude_primop CharEqOp
-ltH_Char_PN = prelude_primop CharLtOp
-eqH_Word_PN = prelude_primop WordEqOp
-ltH_Word_PN = prelude_primop WordLtOp
-eqH_Addr_PN = prelude_primop AddrEqOp
-ltH_Addr_PN = prelude_primop AddrLtOp
-eqH_Float_PN = prelude_primop FloatEqOp
-ltH_Float_PN = prelude_primop FloatLtOp
-eqH_Double_PN = prelude_primop DoubleEqOp
-ltH_Double_PN = prelude_primop DoubleLtOp
-eqH_Int_PN = prelude_primop IntEqOp
-ltH_Int_PN = prelude_primop IntLtOp
-geH_PN = prelude_primop IntGeOp
-leH_PN = prelude_primop IntLeOp
-minusH_PN = prelude_primop IntSubOp
-
-prelude_primop o = case (origName "prelude_primop" (primOpId o)) of { OrigName m n -> Qual m n }
-
-false_PN = preludeQual SLIT("False")
-true_PN = preludeQual SLIT("True")
-and_PN = preludeQual SLIT("&&")
-not_PN = preludeQual SLIT("not")
-append_PN = preludeQual SLIT("++")
-map_PN = preludeQual SLIT("map")
-compose_PN = preludeQual SLIT(".")
-mkInt_PN = preludeQual SLIT("I#")
-error_PN = preludeQual SLIT("error")
-showString_PN = preludeQual SLIT("showString")
-showParen_PN = preludeQual SLIT("showParen")
-readParen_PN = preludeQual SLIT("readParen")
-lex_PN = Qual gHC__ SLIT("lex")
-showSpace_PN = Qual gHC__ SLIT("showSpace")
-showList___PN = Qual gHC__ SLIT("showList__")
-readList___PN = Qual gHC__ SLIT("readList__")
-
-a_Expr = HsVar a_PN
-b_Expr = HsVar b_PN
-c_Expr = HsVar c_PN
-d_Expr = HsVar d_PN
-ltTag_Expr = HsVar ltTag_PN
-eqTag_Expr = HsVar eqTag_PN
-gtTag_Expr = HsVar gtTag_PN
-false_Expr = HsVar false_PN
-true_Expr = HsVar true_PN
-
-con2tag_Expr tycon = HsVar (con2tag_PN tycon)
-
-a_Pat = VarPatIn a_PN
-b_Pat = VarPatIn b_PN
-c_Pat = VarPatIn c_PN
-d_Pat = VarPatIn d_PN
-
-con2tag_PN, tag2con_PN, maxtag_PN :: TyCon -> RdrName
-
-con2tag_PN tycon
- = let (OrigName mod nm) = origName "con2tag_PN" tycon
- con2tag = SLIT("con2tag_") _APPEND_ nm _APPEND_ SLIT("#")
- in
- Qual mod con2tag